2010-03-23 2 views
2

У меня есть пользовательский UserControl, называемый (например) MyPanel, и я хочу использовать его в другом файле XAML. Я хотел бы задать свойство MyPanel, например, «Заголовок» в файле XAML, в который MyPanel помещается следующим образом:Очень простой вопрос привязки Silverlight

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

Я хотел бы, чтобы «Название» свойство MyPanel в то заселить TextBlock в MyPanel. Как настроить код и/или XAML в MyPanel для поддержки такого свойства?

Я даже не уверен, что это считается обязательным, поэтому извините мое невежество, если это не так.

ответ

2

Самое простое решение, которое я могу думать: -

MyPanel XAML: -

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

MyPanel.cs: -

public partial class MyPanel : UserControl 
{ 
    // constructor stuff here. 

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

Есть и другие "умные" решения, но это достаточно хорош для этого требования.

+0

Отлично! И очевидно в ретроспективе. Я был обеспокоен тем, что мне нужно было сделать полномасштабную DependencyProperty или что-то еще. – Klay

+0

В этом случае DependencyProperty не требуется, я предпочитаю дать самое простое решение. Однако, если вы когда-либо хотели повторно использовать элемент управления MyPanel и данные, привяжите свойство Title, вам нужно будет реализовать его как DependencyProperty. – AnthonyWJones