gpt4 book ai didi

c# - 如何让按钮的 Click 事件操作 MVVM 中的另一个控件

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:21 27 4
gpt4 key购买 nike

我正在使用 WPF(4.5) 和 Caliburn.Micro。我试图了解如何让我的 View 中的“事件”操纵我 View 中的其他控件。

例如:

我的 View 有一个扩展控件、一个按钮和一个 GridView。 GridView 位于 Expander 内。当用户单击该按钮时,它会调用 VM 中的一个方法,该方法使用 BindableCollection<> 填充 gridview。我想要发生的是,当该集合有超过 1 个项目时,我想自动展开 Expander Control。

想法?

最佳答案

您可以绑定(bind)到集合中的项目数:

<Expander IsExpanded="{Binding Path=YourCollection.Length, Converter={StaticResource ResourceName=MyConverter}" />

然后在窗口或用户控件中:

<UserControl... xmlns:converters="clr-namespace:My.Namespace.With.Converters">
<UserControl.Resources>
<converters:ItemCountToBooleanConverter x:Key="MyConverter" />
</UserControl.Resources>
</UserControl>

和转换器:

namespace My.Namespace.With.Converters {
public class ItemCountToBooleanConverter : IValueConverter
{

// implementation of IValueConverter here
...
}
}

这是我凭空写的,如果有错误,请见谅;)

此外:确保您的 viewModel 实现了 INotifyPropertyChanged 接口(interface),但我假设您已经知道了。

关于c# - 如何让按钮的 Click 事件操作 MVVM 中的另一个控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16843399/

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