在我的解决方案中,我已经通过了一个自动生成的网格。在此网格中,使用datatemplate添加了一列。
<DataTemplate x:Key="IdTextBlockTemplate">
<TextBlock>
<Run Text="l" Loaded="OnLoad" FontSize="20" FontFamily="Wingdings" />
<Run Text="{Binding ConnectionState, Mode=TwoWay}" />
</TextBlock>
</DataTemplate>
在xaml.cs中
private void dataGrid_AutoGeneratingColumn(object sender, Telerik.Windows.Controls.GridViewAutoGeneratingColumnEventArgs e)
{
switch (e.Column.Header.ToString())
{
case "ConnectionState":
GridViewDataColumn item = new GridViewDataColumn();
item.CellTemplate = Resources["IdTextBlockTemplate"] as DataTemplate;
item.IsReadOnly = true;
item.Header = "ConnectionState";
e.Column = item;
break;
}
}
但是当标题等于&#34; connectionstate&#34;
时,这将有效在onload方法中我添加了
private void OnLoad(object sender,RoutedEventArgs e) {
if (((sender as Run).DataContext as DataRowView)[8].ToString() == "OffLine")
{
(sender as Run).Foreground = new SolidColorBrush(Color.FromRgb(255, 0, 0));
}
else
{
(sender as Run).Foreground = new SolidColorBrush(Color.FromRgb(0, 255, 0));
}
}
现在正在本地化我的解决方案。我正在将英语改为中文。 那个时候标题连接状态将转换为中文。 但是我无法在Connectionstate列中看到值
当改变语言时,属性也需要改变。怎么做?
如何解决这个问题?