添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

WPF 滚动视图(ScrollViewer)下的DataGrid自动宽度的问题-转换器

WPF 滚动视图(ScrollViewer)下的DataGrid自动宽度的问题-转换器

转换器:

public class PercentConverter : IValueConverter
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        if (value == null)
            return 0;
        var valor = (double)(double.Parse(value.ToString()) * 0.90); //Window宽度90%
        return valor;
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        var valor = (double)(double.Parse(value.ToString()) / 0.90);
        return valor;

xaml:

<!--主体-->
<Grid x:Name="grid" Grid.Row="1" Margin="10" Background="#01ffffff" MinWidth="200">
    <Grid.Resources>
        <local:PercentConverter x:Key="ItemSelectedConverter"/>
    </Grid.Resources>
    <!--DataGrid的宽度为UserControl的90%--> 
    <DataGrid Width="{Binding ActualWidth,ElementName=window, Converter={StaticResource ItemSelectedConverter}}" x:Name="TDataGrid" SelectionUnit="FullRow" IsReadOnly="True" AutoGenerateColumns="False" 
          ItemsSource="{Binding SpotColorGroup,Mode=TwoWay}">
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding No}"  Header="序号" Width="180"/>