2
我有自定义样式的按钮,我想将样式项绑定到按钮datacontext。 如何做到这一点?Silverlight。将样式项绑定到datacontext
我尝试:
<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;}
}
你是否试图绑定到资源名称存储在ContextText中的样式?你能澄清你到底想做什么吗? – Stephan 2010-07-28 16:23:11