我想要给我的ScrollViewer添加一个边框。当ScrollViewer的滚动条可见时(VerticalScrollBarVisibility设置为“Auto”),边框应该只显示出来。
谢谢!
谢谢!
<Border BorderBrush="Black">
<Border.Style>
<Style>
<Setter Property="Border.Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=theScrollViewer, Path=ComputedVerticalScrollBarVisibility}" Value="Collapsed">
<Setter Property="Border.Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<ScrollViewer Name="theScrollViewer">
</ScrollViewer>
</Border>
Binding
和 Converter
。public sealed class VisibilityToBorderThicknessConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
try
{
var flag = (Visibility)value;
if (flag == Visibility.Visible)
return new Thickness(0);
else
return new Thickness(1);
}
catch
{
return new Thickness(0);
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
然后是您的 XAML:
<ScrollViewer Name="blah">
<Border BorderThickness="{Binding ElementName=blah, Path=VerticalScrollBarVisibility , Converter={StaticResources VisibilityToBorder}}">
</ScrollViewer>