非常基本的Silverlight绑定问题

非常基本的Silverlight绑定问题,silverlight,data-binding,silverlight-3.0,Silverlight,Data Binding,Silverlight 3.0,我有一个名为(例如)MyPanel的自定义UserControl,我想在另一个XAML文件中使用它。我想设置MyPanel的一个属性,例如放置MyPanel的XAML文件中的“Title”,如下所示: <UserControl x:Name="ContainerControl"> <local:MyPanel Title="Whatever I Want" /> </UserControl> 我想让MyPanel的“Title”属性在MyPane

我有一个名为(例如)MyPanel的自定义UserControl,我想在另一个XAML文件中使用它。我想设置MyPanel的一个属性,例如放置MyPanel的XAML文件中的“Title”,如下所示:

<UserControl x:Name="ContainerControl">
    <local:MyPanel Title="Whatever I Want" />
</UserControl>

我想让MyPanel的“Title”属性在MyPanel中填充一个文本块。 如何在MyPanel中设置代码和/或XAML以支持此类属性


我甚至不确定这是否被视为具有约束力,因此如果这是错误的,请原谅我的无知。

我能想到的最简单的解决方案是:-

MyPanel xaml:-

<UserControl x:Class="SilverlightApplication1.MyPanel" ...>
  <Grid x:Name="LayoutRoot">
    <TextBlock x:Name="txtTitle" />
    <!-- other stuff here -->
  </Grid>
</UserControl>

还有其他“聪明”的解决方案,但这足以满足这一要求。

完美!回想起来,这是显而易见的。我担心我需要把它变成一个完整的DependencyProperty或者其他什么。在这种情况下,DependencyProperty是不需要的,我宁愿给出最简单的解决方案。但是,如果您想要重新使用
MyPanel
控件和数据绑定
Title
属性,则需要将其作为DependencyProperty实现。
public partial class MyPanel : UserControl
{
  // constructor stuff here.

  public string Title
  {
      get { return txtTitle.Text; }
      set { txtTitle.Text = value; }
  } 
}