【发布时间】:2017-07-12 20:20:03
【问题描述】:
我正在使用按钮样式和数据模板,但在显示文本时遇到问题(我的 Table 对象的 Name 和 Number 属性)。
这是 xaml:
<Style x:Key="btnTable" TargetType="{x:Type Button}" >
<Setter Property="Background" Value="Transparent" />
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate DataType="{x:Type my:Tables}">
<Grid>
<Image VerticalAlignment="Center" Source="/Images/Ico/table-40x40.png" />
<TextBlock Text="{Binding Path=Naziv}" />
<Ellipse Canvas.Top="30" Canvas.Left="30" Fill="#FF6A4E8C" />
<TextBlock Text="{Binding Number}" />
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
然后,我在 .cs 中创建这样的按钮:
Button b = new Button();
Style myStyle = (Style)Resources["btnTable"];
b.Style = myStyle;
b.DataContext = myTableItem;
如果我测试按钮单击事件,它在 DataContext 属性中具有有效的 Table 对象。
我尝试替换绑定路径宽度绑定路径=DataContext.Name,添加RelativeSource=Self,但没有任何帮助。
另外,我尝试使用 ItemsControl 创建按钮,但遇到了同样的问题。
【问题讨论】: