0
我的控件有一個返回ICommand對象的屬性。使用XAML,我如何將一個按鈕綁定到它?WPF:如何綁定到控件中定義的ICommand?
我的控件有一個返回ICommand對象的屬性。使用XAML,我如何將一個按鈕綁定到它?WPF:如何綁定到控件中定義的ICommand?
不知道任何關於兩者的關係我會使用元素綁定。例如。
<YourControl x:Name="CmdSrc" />
<Button Command={Binding ElementName=CmdSrc, Path=CmdProperty} />
您應該考慮控件提供命令的方法。這在我看來有些奇怪。 ;)
問候
編輯
啊好吧,這只是一個暗示。以防萬一你沒有想到它。
這是另一種綁定你的命令的方法。我必須承認我沒有測試它。但我認爲以下內容也應該起作用。
當Button
在控制中時,您也可以使用相對綁定。
<YourControl>
<Button Command={Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type YourControl}}, Path=CmdProperty} />
</YourControl>
然後你不需要控件的名字。我儘可能避免使用名稱,以防止代碼背後的骯髒解決方法。
是的,我知道它是一種偏執。 ;)
該按鈕位於具有該命令的控件上。唯一的目的是影響UI元素,所以正常的Model或ViewModel模式不適合。 – 2010-07-27 06:57:38
那怎麼樣,我沒想到能夠用x:Name來標記頂級UserControl元素。但它像一個魅力。 – 2010-07-27 06:58:28
有趣。我相信你的編輯也會解決一些我一直在處理的問題。 – 2010-08-02 21:59:22