如何在C#

时间:2016-09-27 09:44:47

标签: c# wpf

在我的解决方案中,我已经通过了一个自动生成的网格。在此网格中,使用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列中看到值

当改变语言时,属性也需要改变。怎么做?

如何解决这个问题?

0 个答案:

没有答案