1

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

4

1 回答 1

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;
}
于 2013-10-07T05:27:26.160 回答