精华内容
下载资源
问答
  • wpf为自定义控件添加属性

    千次阅读 2018-02-24 17:31:14
    wpf为自定义控件添加属性 首先,创建UserControl.xaml文件,命名为MyUserButton,之后改成这种样式 <Button x:Class="UserButtonTest.MyUserButton" xmlns="... ...

    wpf为自定义控件添加属性

    首先,创建UserControl.xaml文件,命名为MyUserButton,之后改成这种样式

    <Button x:Class="UserButtonTest.MyUserButton"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                 xmlns:local="clr-namespace:UserButtonTest"
                 mc:Ignorable="d" 
                 d:DesignHeight="300" d:DesignWidth="300"
                 Background="Transparent" BorderThickness="0">
    
        <Grid>
            <Border Height="50" BorderThickness="3" CornerRadius ="5" Background="#FFFFCC" BorderBrush="#FF6633">
                <Border BorderThickness="0">
                    <Viewbox VerticalAlignment="Center" HorizontalAlignment="Center">
                        <TextBlock Name="tb" Text="Default Text"></TextBlock>
                    </Viewbox>
                </Border>
            </Border>
        </Grid>
    </Button>

    打开对应的.cs文件,做如下修改

    
    public static readonly DependencyProperty TextProperty =
        DependencyProperty.Register("Text", typeof(string), typeof(MyUserButton), new           PropertyMetadata("TextBox", new PropertyChangedCallback(OnTextChanged)));
    
    public string Text
    {
      get { return (string)GetValue(TextProperty); }
      set { SetValue(TextProperty, value); }
    }
    
    static void OnTextChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
    {
        ((MyUserButton)sender).OnValueChanged(args);
    }
    protected void OnValueChanged(DependencyPropertyChangedEventArgs e)
    {
        this.tb.Text = e.NewValue.ToString();
    }

    然后在MainWindow.xaml中引用这个控件

    <local:MyUserButton Text="ddd" Width="200" Height="100" ClickF="MyUserButton_ClickF"></local:MyUserButton>

    运行,效果如下
    这里写图片描述

    但是这样做有问题:Button周围有一大片作用区域,是模板定义得有问题,但如果不这样做的话,MyUserButton.cs中无法找到对应的tb控件。试了好久也不得法。如果你把问题解决了,Please @me。
    这里写图片描述

    展开全文
  • WPF重写Button样式

    2018-01-18 14:23:00
    首先指定OverridesDefaultStyle属性为True; 然后添加样式; 重写ControlTemplate; <Window.Resources> <Style x:Key="UserButtonStyle" TargetType="Button"> <Setter Property=...

    首先指定OverridesDefaultStyle属性为True;

    然后添加样式;

    重写ControlTemplate;

     

    <Window.Resources>
        <Style x:Key="UserButtonStyle" TargetType="Button">
            <Setter Property="OverridesDefaultStyle" Value="True" />
            <Setter Property="Cursor" Value="Hand" />
            <Setter Property="Padding" Value="5 3" />
            <Setter Property="Background" Value="LightBlue" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border Name="border" BorderThickness="0" BorderBrush="Black" Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}">
                            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Opacity" Value="0.8" />
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>

     

    转载于:https://www.cnblogs.com/bincoding/p/8310022.html

    展开全文
  • 初学者。想写个扫雷。...但是我如何为button控件添加一个我自己定义的string boom(属性)值来表示该位置是否有雷呢?这样我就可以在click事件中判断这个button 的我自定义的boom属性来判断是否有雷。
  • 调整属性,无法使button上的字体居中显示,一直显示在右上角,在界面添加textblack margin自动为(-25,0,0,0),用border 设计按钮,make in tocontrol为button时也是同样的情况,有没有遇见过的,求大神指导一下。
  • Wpf Button自定义样式

    千次阅读 2017-02-23 13:50:19
    点解解决方案,为WPF窗体程序添加一个Wpf自定义控件库CustomBtnLibrary。 首先我们定义的一个类我们叫它cButton,用依赖属性注册一个MouseOverBackground. public class cButton : Button { public static ...

    我们制作一个鼠标经过改变背景色的Button。

    点解解决方案,为WPF窗体程序添加一个Wpf自定义控件库CustomBtnLibrary。

    首先我们定义的一个类我们叫它cButton,用依赖属性注册一个MouseOverBackground.

    public class cButton : Button
    {  
    
           public static readonly DependencyProperty MouseOverBackgroundProerty =
                DependencyProperty.Register("MouseOverBackground",typeof(Brush),typeof(cButton),new PropertyMetadata(Brushes.RoyalBlue));
    
    
    
    
            public Brush MouseOverBackground
            {
                get { return (Brush)GetValue(MouseOverBackgroundProerty); }
                set { SetValue(MouseOverBackgroundProerty, value); }
            }
    
    
    
    
            static cButton()
            {
                DefaultStyleKeyProperty.OverrideMetadata(typeof(cButton), new FrameworkPropertyMetadata(typeof(cButton)));
            }
    
    }
    

    打开Themes文件下的Generic.xaml

    xmlns:local="clr-namespace:CustomBtnLibrary">添加命名空间

    在Border标签下添加 ContenPresenter 为了显示内容,在ControlTemplate下添加 ControlTempleate.Triggers (Triggers事件触发器)

    <ControlTemplate TargetType="{x:Type local:cButton}">
                        <Border x:Name="border" 
                                Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                CornerRadius="{Binding RelativeSource={RelativeSource Mode=TemplatedParent },Path=CornerRadius}">
                            <ContentPresenter x:Name="content" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                              VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                              Content="{TemplateBinding Content}"/>
                   
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Background" Value="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},
                                    Path=MouseOverBackground }" TargetName="border" /> 
                            </Trigger>
                        </ControlTemplate.Triggers>


    在启动窗口MainWindow.xaml添加代码
    添加命名空间
    xmlns:local="clr-namespace:CustomBtnLibrary;assembly=CustomBtnLibrary"

    <Grid>
            <local:cButton Width="100" Height="40" CornerRadius="12" Background="#4000"  PressedBackground="#8000" Content="哈哈"
                           Foreground="White" VerticalContentAlignment="Center"
                           HorizontalContentAlignment="Center"/>
        </Grid>

    展开全文
  • 为button添加背景图片的时候,点击后发现图片闪烁,我们仔细观察,其实Button不仅仅只是在点击后会闪烁,在其通过点击或按Tab键获得焦点后都会闪烁,而通过点击其他按钮或通过按Tab键让Button失去焦点后就不闪烁了...

       在为button添加背景图片的时候,点击后发现图片闪烁,我们仔细观察,其实Button不仅仅只是在点击后会闪烁,在其通过点击或按Tab键获得焦点后都会闪烁,而通过点击其他按钮或通过按Tab键让Button失去焦点后就不闪烁了。如此我们可以推测出这不是点击或其他什么的问题而是焦点的问题,那么我们只要设置Button的Focusable属性为False就行了。

    网上给的答案是要在button属性设置Focusable="False" ,无奈找属性栏里没有找到Focusable,于是在代码里添加Focusable="False",如下:

    <Button Click="button_Click" Margin="0,0,0,0"  Height="350" Width="350" Focusable="False" >

    转自

    http://blog.csdn.net/jumtre/article/details/16801283

    转载于:https://www.cnblogs.com/blindman/p/3782021.html

    展开全文
  • ## 1、如何把[ellipse对象]添加到[button对象]的Template属性呢? ![图片说明](https://img-ask.csdn.net/upload/202009/30/1601445734_758402.png) ## 2、或者告诉我怎么样用代码动态的更改Button的...
  • 阿里巴巴图标网下载png图片,图片添加到项目后更改属性“复制到输出目录”“始终复制” 2.MenuButton添加依赖属性: IconSource、Text、BackGround propdp+两次tab插入property DependencyProperty片段 3.在...
  • WPF 给控件添加可以绑定的命令

    千次阅读 2017-05-29 20:31:50
    WPF里的Button有一个可以绑定的Command的属性,只要绑定好这个属性以后,只要你ClickButton就 会运行这个命令,但这时我们可以考虑一下这个问题,什么是Click来触发呢?什么不是右键单击来触发呢, 下面研究...
  • WPF之依赖属性的继承

    2013-05-11 18:19:00
    依赖属性增加属性值继承的特性 通常我们会给某一个控件(元素)添加依赖属性,如果希望这个依赖属性的改变可以影响到当前窗体中所有拥有此属性的元素,那么就需要属性值得继承特性; 思路如下:有如下自定义按钮类...
  • 这里我给自己的控件命名SelectButton,具体效果见wpf企业级开发中的几种常见业务场景。  我的SelectButton是个用户控件,里面包含一个Button和一个TextBox,Button用于触发事件,TextBox用来显示选择后的结果。...
  • WPF

    2011-11-09 13:10:00
    WPF新手学习可参考【WPF...2 在“Window1.xaml”中添加一个Button按扭,并修改“Content”属性“Hello WPF”。页面代码如下: <Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft...
  • wpf学习笔记---Button

    2007-03-04 20:09:00
     1.CheckBox与RadioButton公共要素(1)IsChecked为属性,Check事件(2)Content添加图片CheckBox Name="cb6" Checked="HandleChange1">Image Source="data/flower.jpg" Height="30" Width="30"/>CheckBox>2...
  • 实现功能如下图,显示一个list的数据内容,并每行添加checkbox复选框和单独按钮,来实现批量删除和单行删除. 数据源的结构非常简单,只有三个属性,分别是uid,username,password,分别对应用户id,用户名,密码 ...
  • C# wpf基础(1)

    2018-12-11 13:21:15
    在这一节主要讲怎样title,...1,新建一个wpf 程序,然后设置属性 2,设置完成后可以看到 3,添加一个button控件,在后台编写代码, 4,最后测试一下。 4,测试成功,title 测试,点击button 弹出窗口。 ...
  • WPF 右上角带数字的按钮 原文:WPF 右上角带数字的按钮效果如图所示 ...2:改button模版,利用附加...3:继承button,添加依赖属性,接下来是这种 1:新建类 啥交LBSButton,因为是我帅帅的名字啊, ...
  • 在UIElement类的成员中可以找到BitmapEffect和Effect两个属性,这两个属性都用来UI元素添加效果,MS的官方网站和一些开源网站上已经有很多效果类库可以使用。Effect由于GPU加速,所以性能较好,可以说是Effect代替...
  • 若要使用XAML某个事件添加处理程序,请将该事件的名称声明用作事件侦听器的元素上的属性。该属性的值是所实现的处理程序方法的名称,该文件必须存在于代码隐藏文件的分部类中。 &lt;Button Click="...
  • 使用触发器 触发器可以让我们的界面可以自动化完成一些简单的样式改变,如鼠标放上去变色等。...注意,我们可以任何依赖项属性设置一个触发器,我们看下面的例子 <Style TargetType="Button"> <St...

空空如也

空空如也

1 2 3 4
收藏数 69
精华内容 27
关键字:

wpf为button添加属性