【问题标题】:How to implement theme on a data bound list control?如何在数据绑定列表控件上实现主题?
【发布时间】:2011-10-27 08:02:14
【问题描述】:

我有一个ListBox 数据绑定到ObservableCollection<Employee>。它运作良好。我需要根据IsolatedStorageSettings.ApplicationSettings 中的用户设置更改 FontFamily 和 FontSize。任何人都可以为这种情况建议最佳设计模式吗?我试图避免在后面的 C# 代码中这样做。如果我可以将ListBox 数据模板中的FontSize 和FontFamily 属性绑定到ApplicationSettings 中的值会更好。不知道该怎么做。

【问题讨论】:

    标签: c# silverlight windows-phone-7


    【解决方案1】:

    将 FontFamily 和 FontSize 作为属性加载到您的 ViewModel 中,并绑定到它们。

    【讨论】:

    • 你是否建议我在我的 ViewModel 中拥有 FontSizeFontFamily 属性,这是一个 ObservableCollection<Employee>?或者属性应该在 Employee 类本身中?如果您指的是后者,我知道如何创建绑定表达式,但我认为这不是一个理想的解决方案(将FontSize 与员工数据混合似乎不正确)。如果您指的是前者,绑定表达式应该如何。 (Listbox的ItemSource设置为ViewModel的实例。)恐怕我对XAML绑定的理解不是很好。
    • 我建议将此 OC 移动到 ViewModel 的属性中,并将字体大小和 fontfamily 作为附加属性添加。您的视图所需的一切都应该在视图模型中,包括这些参数...
    • 正如 Chris 所说,如果您使用 Collection 作为数据上下文,您会误解 ViewModel 的想法。
    • 我能够按照您的建议实现代码。这种方式更有意义。谢谢。
    猜你喜欢
    • 2011-03-14
    • 2011-03-21
    • 2011-01-08
    • 1970-01-01
    • 2010-11-14
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多