当我定义 DataGrid 的宽度时,我想包括 VerticalScrollbar 的大小。到目前为止,我写了一个转换器:
[ValueConversion(typeof(double), typeof(double))]
public class VerticalScrollbarConverter : IValueConverter
{
#region IValueConverter Member
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is double)
return (double)value + SystemParameters.VerticalScrollBarWidth;
else
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
我在 xaml 命名空间中包含了我的转换器:
xmlns:Core="clr-namespace:Core;assembly=SMS_Core"
我将转换器定义为(窗口)资源:
<Window.Resources>
<Core:VerticalScrollbarConverter x:Key="VerticalScrollbarConverter"/>
</Window.Resources>
由于我所有的 DataGrid.Columns 都有一个固定的值,我知道我需要传递的值。如何在 xaml 中告诉我的 GridView Width 属性使用转换器?
我知道我的问题很基本。如您所知,我对 WPF 很陌生。
提前感谢您的每一个提示。如果您需要更多信息或上下文,请尽管询问。