gpt4 book ai didi

WPF:通过更改细节级别来适应大小的变化

转载 作者:行者123 更新时间:2023-12-01 02:51:22 26 4
gpt4 key购买 nike

假设一个 View 包含一个客户列表。默认情况下,这个 View 有很多屏幕空间,并用客户的详细信息填充它。列表中的每个项目都可以用较大的字体显示客户的姓名,第二行的地址用较小的字体显示。也许是一些统计数据,比如以前的订单总数等。

现在,如果用户缩小窗口,它希望有足够的空间容纳所有这些细节。处理这个问题的正确方法是什么?有什么方法可以绑定(bind)每个项目使用的数据模板吗?

现在,如果用户使窗口更小 - 是否可以一起摆脱列表?用显示客户数量的标签代替它吗?

关于如何解决这个问题的任何建议?
您知道任何演示类似内容的演示吗?

最佳答案

我将通过转换器将控件的 Visibility 属性绑定(bind)到窗口的宽度(或高度,取决于您的布局)来解决此问题。考虑这样的事情:

public class HideIfSmallConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var c = value as IComparable;
if (c == null) return Visibilty.Visible;

return c.CompareTo(parameter) < 0 ? Visibility.Collapsed : Visibility.Visible;
}
}

现在我们有一个比较器,如果值小于给定参数,我们可以折叠一个元素。我们可以这样使用它:
<ListBox Visibility="{Binding ActualWidth,RelativeSource={RelativeSource FindAncestor,AncestorType=Window},Converter={StaticResource hideIfSmall},ConverterParameter=400}" />

所以这个想法是,如果窗口的宽度低于 400,ListBox 就会崩溃。

这些都没有经过测试,但希望它能给你一些想法。

关于WPF:通过更改细节级别来适应大小的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4868727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com