繁体   English   中英

Caliburn micro,从视图模型访问导体页面

[英]Caliburn micro, access conductor page from view model

我正在构建Windows Phone 8应用程序,该应用程序具有枢轴控件(导体页)和少量枢轴项(用户控件)。

在主枢纽/导体页面上,我定义了ProgressIndicator,如下所示:

<shell:SystemTray.ProgressIndicator>
    <shell:ProgressIndicator IsVisible="{Binding Loading}"
                             IsIndeterminate="{Binding Loading}"
                             Text="Loading..." />
</shell:SystemTray.ProgressIndicator>

我应该如何从枢纽项目视图模型访问ProgressIndicator IsVisible绑定?

最好的方法是使用消息传递。

创建具有Active Bool属性的ProgressInidcatorChangeMes​​sage,订阅您的“数据透视”页面以处理消息(IHandle),然后从“数据透视” ViewModels发送该消息。

Caliburn.Micro - 如何在 WPF 视图中显示多个项目,来自 ViewModel 继承:导体<object> .Collection.AllActive<div id="text_translate"><p> 我在 WPF 应用程序中使用 Caliburn.Micro 作为我的 MVVM 框架。 我试图在一个页面中包含几个自定义用户控件,这些控件会根据用户交互动态变化。 我了解 CM 约定是 View 将绑定到 ViewModel 中的Items属性。</p><p> 我的问题是:</p><ol><li><p> 如何在我的视图中访问 ViewModel 的Items集合属性中的每个项目?</p></li><li><p> 我可以像通常使用普通 WPF 控件那样将每个项目单独放置在父视图页面上吗?</p></li></ol><p> 视图页面的基本外观如下所示。 <a href="https://i.stack.imgur.com/5vlyX.jpg" rel="nofollow noreferrer">查看页面布局</a></p><p>基本的 ViewModel 代码:</p><pre> public class TestViewModel: Conductor&lt;object&gt;.Collection.AllActive { public TestViewModel() { Items.Add(new CustomUC1ViewModel()); Items.Add(new CustomUC2ViewModel()); Items.Add(new CustomUC3ViewModel()); } //following logic would reassign the Items collection as required }</pre><p> 附加到Items的 ViewModel 将根据用户与父页面和嵌入式用户控件的交互而动态变化。</p><p> 我希望以上内容有意义(这是我的第一篇文章)。</p></div></object>

[英]Caliburn.Micro - How to display multiple items in WPF View from ViewModel that inherits: Conductor<object>.Collection.AllActive

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Caliburn Micro Conductor + TransitioningContentControl Caliburn.Micro,来自UserControl和Conductor.OneActive的多个ActiveItem Caliburn.Micro - 如何从 class 激活项目而不是导体 在 caliburn micro 中绑定视图和模型 Caliburn.Micro - 如何在 WPF 视图中显示多个项目,来自 ViewModel 继承:导体<object> .Collection.AllActive<div id="text_translate"><p> 我在 WPF 应用程序中使用 Caliburn.Micro 作为我的 MVVM 框架。 我试图在一个页面中包含几个自定义用户控件,这些控件会根据用户交互动态变化。 我了解 CM 约定是 View 将绑定到 ViewModel 中的Items属性。</p><p> 我的问题是:</p><ol><li><p> 如何在我的视图中访问 ViewModel 的Items集合属性中的每个项目?</p></li><li><p> 我可以像通常使用普通 WPF 控件那样将每个项目单独放置在父视图页面上吗?</p></li></ol><p> 视图页面的基本外观如下所示。 <a href="https://i.stack.imgur.com/5vlyX.jpg" rel="nofollow noreferrer">查看页面布局</a></p><p>基本的 ViewModel 代码:</p><pre> public class TestViewModel: Conductor&lt;object&gt;.Collection.AllActive { public TestViewModel() { Items.Add(new CustomUC1ViewModel()); Items.Add(new CustomUC2ViewModel()); Items.Add(new CustomUC3ViewModel()); } //following logic would reassign the Items collection as required }</pre><p> 附加到Items的 ViewModel 将根据用户与父页面和嵌入式用户控件的交互而动态变化。</p><p> 我希望以上内容有意义(这是我的第一篇文章)。</p></div></object> Caliburn Micro,来自单一视图模型的多个视图 Caliburn.Micro屏幕和导体生命周期文档 Caliburn Micro Conductor.Collection.AllActive不起作用 Caliburn.Micro 屏幕通过导体过渡 如何使用Caliburn.Micro MVVM在WPF中的同一视图上从另一个视图模型更新list &lt;&gt;?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM