如何将我自己的Style依赖属性(DP)绑定到Button的样式DP?

时间:2013-10-07 05:25:24

标签: wpf binding user-controls

我找到了一个虚拟键盘的UserControl实现。有很多按钮。我希望UserControl公开DP“KeysStyleProperty”,但是如何将它绑定到内部按钮的样式?

1 个答案:

答案 0 :(得分: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;
}