проблемы с привязкой шаблона и привязкой пользовательского компонента - PullRequest
1 голос
/ 22 декабря 2011

Я новичок в мире программирования на WP7 и .net, и мне нужна помощь. У меня есть пользовательский компонент, который имеет свойство, которое использует привязку шаблона.

<TextBlock Text="{TemplateBinding Info}" FontSize="20" Grid.Row="1" TextWrapping="{TemplateBinding TextWrap}"/>

Я определил свойства зависимостей в файле .cs.

Теперь в моем page.xaml я разместил пользовательский компонент примерно так:

 <rounded:RoundedImageView x:Name="pivotItem1" Info="Test bind" BorderBrush="White" ImageSrc="Images/default_service.png" TextWrap="Wrap"/>

Что работает нормально, теперь я хочу, чтобы свойства Info и TextWrap динамически изменялись на основе некоторых внешних переменных, поэтому я сделал это

 <rounded:RoundedImageView x:Name="pivotItem1" Info="{Binding sopInfo}" BorderBrush="White" ImageSrc="Images/default_service.png" TextWrap="{Binding wrap}"/>

, где sopInfo и wrap - это внешние переменные, определенные в резервном файле cs страницы. Но это не работает, значения Info и TextWrap не меняются. Как я могу этого достичь? Спасибо

1 Ответ

1 голос
/ 22 декабря 2011

Попробуйте установить DataContext вашей страницы следующим образом:

 <phone:PhoneApplicationPage 
      DataContext="{Binding RelativeSource={RelativeSource Self}}" />

Затем убедитесь, что sopInfo и wrap являются открытыми DependancyProperties вашего класса Page.

public static readonly DependencyProperty sopInfoProperty = 
    DependencyProperty.Register(
    "sopInfo", typeof(String),
    );

public string sopInfo
{
    get { return (string)GetValue(sopInfoProperty); }
    set { SetValue(sopInfoProperty, value); }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...