zoukankan      html  css  js  c++  java
  • DataGrid的Template的问题

    最近Silverlight 5 Beta发布,作为专注于Silverlight的开发人员,我还是很高兴的,至少证明Sl依然还在完善,还在发展。

    闲话少说,这篇帖子主要是解决DataGrid开发中常见到的问题:

    当DataGrid出现ScrollView时,如果对其进行拖动,你会发现DataGrid中的CheckBox和Expander会发生错乱的情形

    通过对DataGrid的Template中的ScrollView中添加一个DataGridRowsPresenter可以有效的解决该问题:

           <ScrollViewer >
          <sdk:DataGridRowsPresenter x:Name="RowsPresenter" />
          </ScrollViewer>    

             具体代码就不贴了,下载地址:DataGridScrollView.rar

             将DataGrid的Style去掉进行测试即可 

             在实际情况中,我们可能需要对记录为0时进行处理,这里给出一种方式

             image

           这里依然是修改DataGrid的Template,找到DataGridRowsPresenter部分的XAML 

             <sdk:DataGridRowsPresenter x:Name="RowsPresenter" Grid.ColumnSpan="2" Grid.Row="1" />
         将其替换为:
              <Grid Grid.ColumnSpan="2" Grid.Row="1" >
                <sdk:DataGridRowsPresenter x:Name="RowsPresenter"/>
                <TextBlock Text="没有相关的记录" 
               Visibility="{Binding ElementName=RowsPresenter, Path=Children.Count, Converter={StaticResource noRecordsConverter}}" 
               HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="12"/>
             </Grid>

           可以看到是对DataGridRowsPresenter对象的Children属性进行的绑定

           值转换器部分的代码:

            public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
            {
                return value.ToString() == "0" ? Visibility.Visible : Visibility.Collapsed;
            }
     
            public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
            {
                return null;
            }

            本篇就写到这里,希望这2个实际开发中很有用的技巧给你思路上的帮助.

  • 相关阅读:
    Windows2012中安装域控(DC) + SQL Server 2014 + TFS 2015
    CentOS7上GitHub/GitLab多帐号管理SSH Key
    CentOS7安装Cobbler
    Windows2012中Python2.7.11+Python3.4.4+Pycharm
    CentOS7上Nginx的使用
    CentOS7上GitLab的使用
    CentOS7安装Puppet+GitLab+Bind
    python
    接口自动化测试链接https://www.cnblogs.com/finer/
    Android sdk测试方法链接
  • 原文地址:https://www.cnblogs.com/626498301/p/2020503.html
Copyright © 2011-2022 走看看