• Silverlight 设置DataGrid中行的提示信息


    Silverlight中MVVM,为DataGrid绑定每一行的提示信息。

    网上找的都是绑定头部或者“单元格”的,现在尝试了又尝试后,发现绑定行可以这样绑定:

    <sdk:DataGrid  x:Name="batchGrid" AutoGenerateColumns="False" LoadingRow="batchGrid_LoadingRow_1" ItemsSource="{Binding BatchViewList,Mode=TwoWay}" SelectedItem="{Binding CurrentBatch,Mode=TwoWay}" >
            <sdk:DataGrid.RowStyle>
                 <Style TargetType="sdk:DataGridRow">
                      <Setter Property="ToolTipService.ToolTip" Value="{Binding DisplayOpinion}"/>
                 </Style>
            </sdk:DataGrid.RowStyle>
            <sdk:DataGrid.Columns>
              <sdk:DataGridTextColumn Header="编号" Binding="{Binding BatchNO}" IsReadOnly="True" />
              <sdk:DataGridTextColumn Header="项目" Binding="{Binding DisplayName}" IsReadOnly="True" />
              <sdk:DataGridTextColumn Header="时间" Binding="{Binding BatchDate,StringFormat=yyyy年MM月dd日}" IsReadOnly="True" />
          </sdk:DataGrid.Columns>
    </sdk:DataGrid>

    另外,试图MVVM绑定行的背景色失败,只好在Behind Code里面做了,参考了别人的写法,在LoadingRow事件中处理。

    private void batchGrid_LoadingRow_1(object sender, DataGridRowEventArgs e)
            {
                //获取当前加载的行标(从0开始)
                int i = e.Row.GetIndex();
    
                //获取DataGrid绑定的数据。
                var list = batchGrid.ItemsSource as List<AnalysisBatchView>;
                if (list != null)
                {
                    //遍历数据行,进行颜色设置
                    int j = 0;
                    foreach (AnalysisBatchView model in list)
                    {
                        //设置背景颜色,这里可以判断行,需要进行设置的行,设置颜色
                        if (model.IsRockback && j == i)
                        {
                            e.Row.Background = new SolidColorBrush(Colors.Red);
                        }
                        j++;
                    }
                }
            }
    作者:Ivan
    个人网站:http://www.IvanBy.com
  • 相关阅读:
    影子的宽度&&盒子的个数
    【NOIP2017】【洛谷3958】奶酪cheese(并查集)(dfs)
    【USACO Jan 2011】【洛谷P3008】道路和航线 Roads and Planes
    增肥计划
    【洛谷1379】八数码
    【洛谷1985】【USACO07OPEN】翻转棋
    【NOI1995】极值问题
    车的放置
    【AtCoder
    Design Tutorial: Inverse the Problem
  • 原文地址:https://www.cnblogs.com/oneivan/p/2861178.html
Copyright © 2020-2023  润新知