我的Silverlight 4应用程序中有一个样式。我在网格中定义列名称,是否可以从具有此样式的对象中获取标题的这些文本?在下面的代码中,我想要获得的是字符串“foo”和“bar”,来自应用了此样式的对象。
</Grid>
<Grid
x:Name="m_Headers"
Visibility="Visible"
Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="{StaticResource DataColunmWidth}" />
<ColumnDefinition
Width="{StaticResource DataColunmWidth}" />
</Grid.ColumnDefinitions>
<TextBlock
Margin="3,0,0,0"
Text="foo"
Grid.Column="1" />
<TextBlock
Margin="3,0,0,0"
Text="bar"
Grid.Column="2" />
</Grid>
答案 0 :(得分:0)
我认为你不能用纯XAML做到这一点,你必须复制模板或创建一个自定义控件,通过模板将文本值公开为依赖属性。
我认为最好的解决方案是为Grid标头设置绑定并使用ViewModel填充它们:
<Grid
x:Name="m_Headers"
Visibility="Visible"
Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="{StaticResource DataColunmWidth}" />
<ColumnDefinition
Width="{StaticResource DataColunmWidth}" />
</Grid.ColumnDefinitions>
<TextBlock
Margin="3,0,0,0"
Text="{Binding FooText}"
Grid.Column="1" />
<TextBlock
Margin="3,0,0,0"
Text="{Binding BarText}"
Grid.Column="2" />
</Grid>