Silverlight. Привязать элементы стиля к текстовому тексту - PullRequest
2 голосов
/ 28 июля 2010

У меня есть кнопка с пользовательским стилем, и я хочу привязать элементы стиля к тексту кнопки. Как это сделать?

Мои попытки:

   <UserControl.Resources>
  <Style x:Key="ButtonStyle1" TargetType="Button">
   <Setter Property="Template">
    <Setter.Value>
     <ControlTemplate TargetType="Button">
      <Grid>
       <TextBlock TextWrapping="Wrap" Text="{Binding ContextText}" DataContext="{TemplateBinding DataContext}"/>
      </Grid>
     </ControlTemplate>
    </Setter.Value>
   </Setter>
  </Style>
 </UserControl.Resources>

    <Grid x:Name="LayoutRoot" Background="White">
     <Button Content="Button" Height="131" Width="103" HorizontalAlignment="Left" VerticalAlignment="Top" Click="Button_Click"/>
     <Button x:Name="button" Style="{StaticResource ButtonStyle1}" Margin="165,86,0,0"/>

    </Grid>

C # код

 public partial class MainPage : UserControl
{
    public MainPage()
    {
        InitializeComponent();
    }

    private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
    {
  button.DataContext=new Test(){ ContextText="TextFromContext"};
button.UpdateLayout();
    }
}
 public class Test
 {
  public String ContextText{get;set;}
 }

Ответы [ 2 ]

4 голосов
/ 28 июля 2010

Умм .. это то, что вы ищете: -

<Button x:Name="button" Content="{Binding ContextText}" Style="{StaticResource ButtonStyle1}" Margin="165,86,0,0"/> 

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

0 голосов
/ 29 июля 2010

Этот пример действительно работает, когда я перемещаю код из нажатия кнопки в метод в конструктор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...