首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深入浅出话命令

(5)设置命令关联:炮兵是不能单独战斗的,就像炮兵在设计之前需要侦察兵观察敌情、判断发射时机,在射击后观测射击效果,帮助修正一样。...中输入内容之后,Button在命令可执行状态下变为可用,此时单击按钮或者按Alt+C,TextBox就会被清空,效果如下图: ?...当捕捉到是Executed的时候,就调用cb_Execute事件。 第三,因为CanExecute事件的激发频率比较高,为了避免降低性能,在处理完毕之后建议将e.Handle设置为true。...第四,CommandBinding一定要设置在命令目标的外围控件上,不然无法捕捉CanExecute和Executed等路由事件。...在实现这个方法时,我们将这个方法唯一的参数作为命令的目标,如果目标是IView接口的派生类则调用其Clear方法---显然我们已经把程序的业务逻辑引入到了命令的Execute方法中。

1.7K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《深入浅出WPF》——模板学习

    (简单讲,就是显示和功能难以拆分) 在WPF中,通过引入模板(Template)微软将数据和算法的“内容”与“形式”解耦了。...这个UserControl由一个Monster类型实例在背后支持,当设置这个实例的时候,界面元素将实例的属性值显示在各个控件里。...传统的方法可能是创建一个UserControl并在TextBox外套上一个Border,然后还要声明一些属性和方法暴露封装在UserControl里的TextBox上。...~~~~ 把DataTemplate应用在某个数据类型上的方法是设置DataTemplate的的DataType属性,并且DataTemplate作为资源时也不能带有x:Key标记。...ListView的View属性时,如果某一列使用TextBox作为CellTemplate,那么即使这列中的TextBox被鼠标单击并获得了焦点ListView也不会把此项作为自己的SelectedItem

    5K10

    WPF 将控件放入到 UserControl 里获取 HwndSource 为空的情况

    本文记录将 WPF 控件放入到 UserControl 里,如果此 UserControl 没有被设置 Visibility 为可见过,那么放在此 UserControl 内的控件将获取不到 HwndSource...分别放入到 Grid 和 UserControl 里面,将 Grid 和 UserControl 设置为 Visibility="Collapsed" 不可见 在 Loaded 事件里面,分别从 TextBox1...如果将此 UserControl 的 Visibility 先设置为 Visible 然后再设置为 Collapsed 的值,那么在 UserControl 里面的控件,依然可以拿到 HwndSource...">TextBox> UserControl> 在后台代码,先设置 UserControl 的 Visibility 属性,再等待一秒,获取 HwndSource 内容,如以下代码...内容 因此,如果发现从某个 Visual 上,尝试获取 HwndSource 内容失败,可以看看此控件所在的视觉树上是否被放入到 UserControl 里面,同时这个 UserControl 还没有被设置

    1.4K30

    Silverlight之ListBoxStyle学习笔记--ListBox版的图片轮换广告

    ListBox是一个很有用的控件,其功能直逼Asp.Net中的Repeater,它能实现自定义数据项模板,纵向/横向排列Item(如果扩展一下实现自行折行,几乎就是SL版的Repeater了--实际上WrapPanel...每个控件的默认样式/模板,都有N长,全凭记忆不太现实,我的经验是如果需要定义某一个控件的样式,直接用Blend先编辑副本,得到完整的"样本",然后在此基础上做些修改或删减,这样更可行。...:如果不进行数据绑定,即使定义了模板,最终也不会有内容,既然连内容都没有了,所以也谈不上外观--即所谓的数据驱动UI) 这里举一个ListBox的例子: Xaml UserControl xmlns...> 这段代码中,ListBox本身空空如也(除了几个样式和模板的应用),最终的呈现内容和外观,全部在UserControl.Resource中定义了,运行后界面肯定是空的,因为没有数据绑定,我们给它加上后端代码...大致思路:用style定义ListBox的ItemsPanel,把默认纵向排列改成横向排列,然后结合Clip属性设置可视区(蒙板),让其左右移动即可。

    1K50

    《深入浅出WPF》学习笔记之深入浅出话Binding

    除了对象作为数据源外,还可以有很多选择,控件自己或自己的容器或子集元素、集合作为ItemsControl的数据源、XML作为TreeView或Menu的数据源、把多个控件关联到一个“数据制高点”上、甚至干脆不给...如把TextBox的Text属性关联在Slider的Value属性上 TextBox x:Name="textBox1" Text="{Binding...上述Slider示例中,在TextBox输入一个值,然后按Tab键(TextBox丢失焦点),Slider的手柄会自动跳到相应的位置。...或者干脆没有Path   这是一种特殊的情况——Binding源本身就是数据且不需要Path来指明   如string、int等基本类型,可以将Path设置为"."...在XAML中为外层StackPanel的DataContext赋了值,内层TextBox的Binding只指定了Path,没有指定Source,这时TextBox的Binding会自动向UI元素树的上层寻找可用的

    5.7K10

    C# WPF MVVM开发框架Caliburn.Micro关于关于Actions⑤

    设置此属性会将ActionMessage“handler”放置在与您声明属性的节点相连的可视树中。它还将DataContext设置为相同的值,因为您通常希望这两个值相同。...Action.Target的一个优点是可以将其设置为System.String,CM将使用该字符串从IoC容器中解析实例,并使用提供的值作为其键。...(在根节点上使用,如Window/UserControl/Page。) Bind.ModelWithoutContext 首先查看-将Action.Target设置为指定实例。将约定应用于视图。...(在DataTemplate内部使用。) View.Model ViewModel First–定位指定VM实例的视图并将其注入内容站点。...通过这些功能,您可以方便地访问常见的上下文信息: $eventArgs 将EventArgs或输入参数传递给操作。注意:对于保护方法,这将是null,因为触发器实际上没有发生。

    2.1K20

    WPF:无法对元素“XXX”设置 Name 特性值“YYY”。“XXX”在元素“ZZZ”的范围内,在另一范围内定义它时,已注册了名称。

    WPF:无法对元素“XXX”设置 Name 特性值“YYY”。“XXX”在元素“ZZZ”的范围内,在另一范围内定义它时,已注册了名称。...实际上,这是一个用户控件,也就是继承自 UserControl 的大家通常用来写界面的东西。...于是需要提醒大家注意: 在 WPF 里,拥有直接的 XAML 文件的始终应该作为最终用户界面,不应该当作控件使用(不要试图在其他地方使用时还设置其 Content 属性); 如果你确实希望做控件,请继承自...至于以上 XAML 代码中我看到用的是 UserControl.Style> 来写样式,是因为踩到了当控件用的另一个坑: 所有在控件的 XAML 中设置的 Content 属性都将被使用时覆盖。...将 UserControl.Style> 里定义的所有样式全部改到 /Themes/Generic.xaml 文件中。

    3.1K20

    Silverlight数据绑定IValueConverter学习笔记

    先回忆一下aspx中的处理: 在aspx中,可以直接在后台定义一个变量,然后前台就可以用来将其"绑定"html控件上,比如下面这样,实在是很方便: using System; namespace...> "/> 但到了Silverlight中,要想直接将后台的变量绑定到某个控件上却是行不通的...中的内容并无变化,原因是:要想实现源与目标的数据自动关联更新,MyClass得实现INotifyPropertyChanged接口,我们把MyClass的定义改成下面这样:  代码 public class...的内容变成了456,达到预期的效果了....,都是将数据原封不动的绑定并显示,如果我们希望在绑定时,能对数据的输出做一些变化,比如:代表性别的"1,0"输出时希望变成"男,女",该怎么办呢?

    94170

    开源C# WPF控件库--Newbeecoder.UI使用指南(三)

    在开发项目中要显示一组数据且可以选择一项或多项的时候,可以使用ListBox列表框。SelectionMode设置选择单项和多项,全选使用SelectAll属性进行设置。...ListBoxItem用于填充每一项列表数据。 要选择一个ListBoxItem在列表框,设置IsSelected属性true。...默认情况下,的HorizontalAlignment一个的ListBoxItem的设置为拉伸。StackPanel的默认水平位置是Center。...如果您通过StackPanel设置ListBoxItem的Width属性,则应用面板的默认值并且项目居中。...Demo下载: Newbeecoder.UI.zip 只要你有好看的设计图,基本上都可以用Newbeecoder.UI按设计图开发出来,下面演示开源控件库开发的控件: 视频内容 ​ Newbeecoder.UI

    2.6K50
    领券