2010-07-27 90 views

回答

5

不知道任何關於兩者的關係我會使用元素綁定。例如。

<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>

然後你不需要控件的名字。我儘可能避免使用名稱,以防止代碼背後的骯髒解決方法。

是的,我知道它是一種偏執。 ;)

+0

該按鈕位於具有該命令的控件上。唯一的目的是影響UI元素,所以正常的Model或ViewModel模式不適合。 – 2010-07-27 06:57:38

+0

那怎麼樣,我沒想到能夠用x:Name來標記頂級UserControl元素。但它像一個魅力。 – 2010-07-27 06:58:28

+0

有趣。我相信你的編輯也會解決一些我一直在處理的問題。 – 2010-08-02 21:59:22