首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Silverlight4MVVM:无法绑定ICommand

Silverlight4MVVM:无法绑定ICommand
EN

Stack Overflow用户
提问于 2010-09-24 16:12:47
回答 1查看 424关注 0票数 1

我已经创建了一个Silverlight用户控件。标记为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<StackPanel Grid.Row="4" Grid.Column="0" Orientation="Horizontal" Width="Auto" Margin="5">
    <Button Content="OK" Margin="0,0,5,5" MinWidth="50" Command="{Binding OKCommand}"  />
</StackPanel>

后面的代码将依赖属性'OKCommand‘声明为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public ICommand OKCommand
{
    get
    {
        return (ICommand)GetValue(OKCommandProperty);
    }
    set
    {
        SetValue(OKCommandProperty, value);
    }
}

public static readonly DependencyProperty OKCommandProperty
    = DependencyProperty.Register("OKCommand", typeof(ICommand), typeof(TestUserControl), new PropertyMetadata(null, OKCommandProperty_PropertyChangedCallback));

private static void  OKCommandProperty_PropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
{      
}

现在,我想在另一个页面上使用用户控件,该页面是视图& ViewModel定义了我希望OKCommand绑定到的命令。XAML标记如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<local:TestControl OKCommand="{Binding Path=TestControlOk}"/>

但是,当我单击该按钮时,它不会执行任何操作。任何关于我做错了什么的线索。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-24 16:26:18

您需要显示包含TestControlOk属性的视图模型,这样我们才能知道这是否是问题的一部分。

UserControls不会自动将自身注册为数据上下文,因此用户控件内的绑定将不会绑定任何内容。你有没有

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
this.DataContext = this;

在UserControl代码背后的任何地方,才能使您的第一个绑定真正工作?

或者,您可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<UserControl .....
    x:Name="MyUserControl">
    <StackPanel Grid.Row="4" Grid.Column="0" Orientation="Horizontal" Width="Auto" Margin="5">
        <Button Content="OK" Margin="0,0,5,5" MinWidth="50" 
            Command="{Binding OKCommand, ElementName=MyUserControl}"  />
    </StackPanel>
</UserControl>

注意,绑定的ElementName=部分指向XAML中的根UserControl元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3788950

复制
相关文章
win10 uwp 绑定 OneWay 无法使用
有时候使用绑定的 OneWay 方法无法使用,而使用 TwoWay 的方法就可以使用,但是在调试把 OneWay 做了修改又可以使用,那么请看本文。
林德熙
2018/09/18
6170
win10 uwp 绑定 OneWay 无法使用
回调在事件中的妙用 ### 回调: 回头调用,函数 A 的事先干完,回头再调用函数 B。事件中的使用。通过以上方式,可以中其本模块中调用其它模块变量,有些细节与严格意义上回调不一致,但基本思想一致
函数 A 的参数为函数 B, 函数 B 被称为回调函数。至于为何要用参数的形式传入,而不是直接在 A 中直接调用 B 函数,主要是为了变量的灵活性考虑。 为何要使用回调?
用户2434869
2019/04/17
1.6K0
WPF自学入门(十一)WPF MVVM模式Command命令
在WPF自学入门(十)WPF MVVM简单介绍中的示例似乎运行起来没有什么问题,也可以进行更新。但是这并不是我们使用MVVM的正确方式。正如上一篇文章中在开始说的,MVVM的目的是为了最大限度地降低了Xaml文件和CS文件的耦合度,分离界面和业务逻辑,所以我们要尽可能的在View后台不写代码。但是这个例子中,我们将更新ViewModel的代码写在了View里,下一个例子中,我们要通过命令(Command)的来将Button的事件分离出来。
黄昏前黎明后
2019/08/26
3.5K0
WPF自学入门(十一)WPF MVVM模式Command命令
WPF中ICommand接口 的一个设计问题
public interface ICommand { // Summary: // Occurs when changes occur that affect whether or not the command should execute. event EventHandler CanExecuteChanged; bool CanExecute(object parameter); void Ex
用户1172223
2018/01/29
1K0
WPF命令(Command)介绍、命令和数据绑定集成应用
要开始使用命令,必须做三件事:                                               一:定义一个命令                                               二:定义命令的实现                                               三:为命令创建一个触发器     WPF中命令系统的基础是一个相对简单的ICommand的接口,代码如下: public interface IComma
hbbliyong
2018/03/05
6.2K0
WPF命令(Command)介绍、命令和数据绑定集成应用
EXTJS7 解决无法绑定父组件ViewModel问题
子组件vm(VIewModel)初始化时会自动将父组件的vm设置为parent 如果子组件的vm初始化时子组件v(View)尚未add到父组件v上,则子组件的vm.parent为null且不会在view add后再设置为父组件vm(只读),此时子组件元素无法绑定到父组件vm
路过君
2020/06/19
4320
苹果cms采集时无法绑定分类的解决方法
首先检查程序的PHP版本,php5.6的,就设置为php7.0试试,php7.0不行,就换php7.1。不要设置为7.2以上
小狐狸说事
2022/11/17
1.2K0
js动态绑定事件,无法使用for循环中变量i的问题
每天不是在写 bug,就是在解 bug 的路上~更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』
小闫同学啊
2020/07/14
3.9K0
关于一些动态创建的节点无法绑定事件的问题
使用JQ提供的.on()和.delegate()方法可以解决解决此问题,给动态加载的元素成功绑定上事件,但是在这两种方法的参数中一定得写上我们需要绑定事件的那个元素选择器。
colezhou
2019/11/24
1.1K0
WPF 的 ElementName 在 ContextMenu 中无法绑定成功?试试使用 x:Reference!
发布于 2018-10-13 21:38 更新于 2018-10-14 04:25
walterlv
2020/02/10
3.1K0
宝塔反代面板端口+开启HTTPS后无法绑定堡塔APP
腾讯防火墙关闭8888端口。 新建一个网站,开启反代,反代到http://127.0.0.1:8888。 网站开启SSL,强制HTTPS访问。 通过这个网站访问宝塔面板。
kr
2022/11/12
7.4K0
宝塔反代面板端口+开启HTTPS后无法绑定堡塔APP
3.绑定属性、绑定html、绑定class、绑定style
1.绑定属性 <template> <div id="app"> <!-- 绑定属性 --> <br> <div v-bind:title='title'>鼠标悬浮出现</div> <br> <img :src="url" alt="仙女"> </div> </template> <script> export default { name: 'app', data () { return { title:'
玩蛇的胖纸
2019/09/25
2.4K0
3.绑定属性、绑定html、绑定class、绑定style
WPF --- 非Button自定义控件实现点击功能
今天在做一个设置文件夹路径的功能,就是一个文本框,加个按钮,点击按钮,弹出 FolderBrowserDialog 再选择文件夹路径,简单做法,可以直接 StackPanel 横向放置一个 TextBox 和一个 Image Button,然后点击按钮在 后台代码中给 ViewModel 的 FilePath赋值。但是这样属实不够优雅,UI 不够优雅,代码实现也可谓是强耦合,那接下来我分享一下我的实现方案。
Niuery Diary
2023/10/22
3580
WPF --- 非Button自定义控件实现点击功能
WPF MVVM实例一
在Model文件夹下新建业务类StudentModel(类文件StudentModel.cs),类的详细代码如下所示。
zls365
2021/02/01
7480
WPF MVVM实例一
C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码
GuZhenYin
2018/01/04
1.7K0
C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码
设计模式学习笔记-命令模式
1. 概述   将一个请求封装为一个对象(即我们创建的Command对象),从而使你可用不同的请求对客户进行参数化; 对请求排队或记录请求日志,以及支持可撤销的操作。 2. 解决的问题   在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。 3. 模式中角色   3.1 抽象命令(Command):定义命令的接口,声明执行的方法。   3.2 具体命令(ConcreteCommand):具体命令
用户1198337
2018/01/19
5060
设计模式学习笔记-命令模式
WPF 绑定命令在 MVVM 的 CanExecute 和 Execute 在按钮点击都没触发可能的原因
在 WPF 推荐使用 MVVM 绑定命令,但是绑定命令会存在很多坑,其中一个就是焦点的问题。如果在用户点击按钮的时候出现了焦点修改,那么此时的命令是不会被触发
林德熙
2022/08/04
2K0
[WPF] 使用 MVVM Toolkit 构建 MVVM 程序
微软虽然提出了 MVVM,但又没有提供一个官方的 MVVM 库(多年前有过 Prism,但已经离家出走了)。每次有人提起 MVVM 库,有些人会推荐 Prism(例如我),有些人会推荐 MVVMLight。可是现在 Prism 已经决定不再支持 UWP , 而 MVVMLight 又不再更新,在这左右为难的时候 Windows Community Toolkit 挺身而出发布了 MVVM Toolkit。 MVVM Toolkit 延续了 MVVMLight 的风格,是一个轻量级的组件,而且它基于 .NET Standard 2.0,可用于UWP, WinForms, WPF, Xamarin, Uno 等多个平台。相比它的前身 MVVMLight,它有以下特点:
dino.c
2021/08/24
2.5K0
动态绑定和静态绑定
Java的动态/静态绑定是比较偏门的知识点之一,可能你不经常听到,但是关于他们的应用,有Java开发经验的朋友应该看一眼就明白。
PhoenixZheng
2018/08/07
1.8K0
点击加载更多

相似问题

MVVM ICommand绑定“更高”

22

Xamarin无法在代码/视图模型中绑定ICommand

20

用ICommand绑定WPF错误

20

Silverlight4Mvvm选项卡页眉绑定

11

MVVM事件与ICommand绑定

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文