C# wpf:将边框宽度与图像宽度绑定
我正在为我的程序添加一项功能,该功能可将图像缩略图查看到listview 我想要的是将边框的宽度绑定到我的图像上,但我无法让它工作 这是我的密码C# wpf:将边框宽度与图像宽度绑定,c#,wpf,listview,C#,Wpf,Listview,我正在为我的程序添加一项功能,该功能可将图像缩略图查看到listview 我想要的是将边框的宽度绑定到我的图像上,但我无法让它工作 这是我的密码 <Border x:Name="imgbrdr" BorderBrush="Black" BorderThickness="1" Margin="5,5,5,5"> <ListView Name="Thumbnails" SelectionChanged="Thumbnails_SelectionChange
<Border x:Name="imgbrdr" BorderBrush="Black" BorderThickness="1" Margin="5,5,5,5">
<ListView Name="Thumbnails" SelectionChanged="Thumbnails_SelectionChanged" >
<ListView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Source}" Height="{Binding ElementName=imgbrdr}" RenderOptions.BitmapScalingMode="HighQuality"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Border>
您忘记添加
边框的属性路径
<Image Source="{Binding Source}" Height="{Binding ElementName=imgbrdr, Path=ActualHeight}" RenderOptions.BitmapScalingMode="HighQuality"/>
您忘记添加边框的属性路径
<Image Source="{Binding Source}" Height="{Binding ElementName=imgbrdr, Path=ActualHeight}" RenderOptions.BitmapScalingMode="HighQuality"/>
您根本不需要那种绑定
要使图像与ListView的宽度相同,只需禁用水平滚动。然后还可以在图像控件上设置边距。如果ListView宽度为200,边距为10,则图像将为180宽
<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled" ...>
<ListBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Source}" Margin="10"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListView>
还请注意,您也可以使用ListBox,它是ListView的基类。您根本不需要该绑定
要使图像与ListView的宽度相同,只需禁用水平滚动。然后还可以在图像控件上设置边距。如果ListView宽度为200,边距为10,则图像将为180宽
<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled" ...>
<ListBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Source}" Margin="10"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListView>
另外请注意,您也可以使用ListBox,它是ListView的基类。它现在可以工作了。但是,当我将边框传递给图像时,如何减小边框的大小呢。示例边框的大小为w=200,但我想传递到的图像仅为180。我尝试了ActualWidth-20,但它不起作用。您不能在Xaml中添加计算,您可能需要一个转换器。@WPFUser如何解决我的问题?谢谢,你能给我一些提示吗?你需要编写从IValueConverter继承的类,需要添加对Convert方法的计算,最后需要在xaml中引用conevrter。类似的需求在这里解决了,现在可以工作了。但是,当我将边框传递给图像时,如何减小边框的大小呢。示例边框的大小为w=200,但我想传递到的图像仅为180。我尝试了ActualWidth-20,但它不起作用。您不能在Xaml中添加计算,您可能需要一个转换器。@WPFUser如何解决我的问题?谢谢,你能给我一些提示吗?你需要编写从IValueConverter继承的类,需要添加对Convert方法的计算,最后需要在你的xaml中引用conevrter。类似的要求在这里得到解决。当问题询问宽度时,你的代码尝试绑定高度。到底是哪一个?你的要求是。。。奇怪。你不能让图像用Stretch=“Uniform”
(可能还有StretchDirection=“downloy”
)填满可用空间吗?@grek40查看我的答案。“统一是默认的拉伸。@克莱门斯:是的,listview滚动条应该可以做到这一点。问题是一个典型的XY,其中问题的答案不是问题的解决方案:)当问题询问宽度时,您的代码尝试绑定高度。到底是哪一个?你的要求是。。。奇怪。你不能让图像用Stretch=“Uniform”
(可能还有StretchDirection=“downloy”
)填满可用空间吗?@grek40查看我的答案。“统一是默认的拉伸。@克莱门斯:是的,listview滚动条应该可以做到这一点。该问题是典型的XY,其中问题的答案不是问题的解决方案:)