如何动态改变mvvm中的控制

发布于 2024-12-05 20:02:36 字数 239 浏览 1 评论 0原文

我有一个主窗口,其中有 3 个按钮:

在网格中。

根据登录名,我想切换其中之一。

如果用户在音乐家组中,第三个按钮将有一些音乐家图像,以及单击“打开音乐家事件”时的命令

如果用户在音乐家组中,第三个按钮将有一些音乐家图像,以及单击“打开电影事件”时的命令。

对我来说最简单的方法是通过转换器设置这些属性,但我不想以这种方式进行。我想要完全不同的控件。

你是怎么做到的?

I have a main window, where are 3 buttons:

There are in grid.

Depending of loginname i want to switch one of them.

If user is in musician group the third button will have some musician image, and Command at click Open Musician Events

If user is in musician group the third button will have some musician image, and Command at click Open Cinema Events.

The simplest way for me is to set those properties by converters, but I don't want do it in this way. I want to have completely different controls.

How do you do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

私野 2024-12-12 20:02:36

不知道为什么你不想使用转换器。但是,如果您坚持使用完全不同的控件,那么为什么不简单地将按钮的可见性绑定到 ViewModel 上的属性,例如在 VM 上公开名为 IsCurrentUserInMusicians 的属性,并将第三个按钮的可见性属性绑定到它。这样,如果用户位于音乐家组中,则相应的按钮将可见。如果不是,它就不会出现。

Not sure why you don't want to use Converters. However, if you insist on using completely different controls then why don't you simply bind the Visibility of the buttons to a property on the ViewModel e.g. Expose a property on the VM named IsCurrentUserInMusicians and bind the third buttons Visibility property to it. This way if the user is in the Musicians group then the appropriate button will be visible. If not it simply won't appear.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文