2013-10-07 16 views

回答

1

如果您將用戶控件的'LayoutRoot'DataContext設置爲它自己,則可以將您的內部按鈕樣式綁定到此依賴項屬性。有關詳細信息,請參閱本文,我寫道:

http://www.scottlogic.com/blog/2012/02/06/a-simple-pattern-for-creating-re-useable-usercontrols-in-wpf-silverlight.html

例如,是這樣的XAML:

<UserControl x:Class="UserControl.VirtualKeyboard" 
    ...> 
    <StackPanel Orientation="Horizontal" 
       x:Name="LayoutRoot"> 
    <Button Style="{Binding KeysStyleProperty}"/> 
    </StackPanel> 
</UserControl> 

,並綁定LayoutRoot如下:

public VirtualKeboard() 
{ 
    InitializeComponent(); 

    //this.DataContext = this; 
    LayoutRoot.DataContext = this; 
} 
+0

好的,謝謝你,我知道了。 UserControl中有很多按鈕。如何在xaml中定義將應用於按鈕的樣式,並將基於(或綁定到)DP? – EngineerSpock

+0

此外,DataContext設置爲ViewModel,因此我無法將xaml中的樣式綁定到代碼隱藏中的DP。 – EngineerSpock

+0

按鈕應該綁定到DP的樣式,已經綁定到VMs道具。 – EngineerSpock

相關問題