c# - xaml c# 中的可观察集合静态资源

标签 c# uwp uwp-xaml

我想创建一个可观察的集合并将其绑定(bind)到组合框下拉列表的项目源。我需要将此集合作为资源(页面/网格),以便能够在数据模板内绑定(bind)到它。 需要帮助定义类结构。示例类结构确实会有帮助。收集非常简单,例如所有国家的列表。重要的要求是我应该能够向其中添加项目。 基本上是一个包含国家/地区(字符串)的集合,允许我添加项目。

最佳答案

observable collection static resource in xaml c#

针对此需求,您可以自定义 ObservableCollection代码隐藏中的类,然后在 xaml 中实现它。

例如:

public class CountrysObservableCollection : ObservableCollection<string>
{

    public CountrysObservableCollection()
    {

    }
}

Xaml

<Page.Resources>
    <local:CountrysObservableCollection x:Key="Countrys">
        <x:String>China</x:String>
        <x:String>USA</x:String>
        <x:String>Japan</x:String>
        <x:String>England</x:String>
        <x:String>Russia</x:String>
        <x:String>Korea</x:String>
        <x:String>Canada</x:String>
        <x:String>Australia</x:String>
    </local:CountrysObservableCollection>
</Page.Resources>

使用

<ComboBox ItemsSource="{StaticResource Countrys}"/>

更新数据源

private  void Button_Click(object sender, RoutedEventArgs e)
{
    var countrys = Resources["Countrys"] as ObservableCollection<string>;
    countrys.Add("New World");
}

更新

<Application.Resources>
    <ResourceDictionary>
        <local:CountrysObservableCollection x:Key="Countrys">
            <x:String>China</x:String>
            <x:String>USA</x:String>
            <x:String>Japan</x:String>
            <x:String>England</x:String>
            <x:String>Russia</x:String>
            <x:String>Korea</x:String>
            <x:String>Canada</x:String>
            <x:String>Australia</x:String>
        </local:CountrysObservableCollection>
    </ResourceDictionary>
</Application.Resources>



 private  void Button_Click(object sender, RoutedEventArgs e)
 {
     var countrys = Application.Current.Resources["Countrys"]as ObservableCollection<string>;  
     countrys.Add("New World");
 }

关于c# - xaml c# 中的可观察集合静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63820481/

相关文章:

uwp - 使用 UWP 主从更改详细信息项目

c# - 是否可以通过数据绑定(bind)项来控制单个 ListView 项的选定、指针悬停和按下状态

c# - 关于构建领域驱动设计命名空间的一些问题

c# - 我应该使用响应代码、异常(exception)情况还是短信来进行服务响应?

php - 在 UWP 应用中使用 Php 脚本从 MySql 服务器获取数据

c# - UWP 捕获 ListView 滚动事件

c# - C# 事件参数有什么作用?

c# - Linq 到 SQL : Relations not correctly updated

c# - C# Elasticsearch 与嵌套的精确文本匹配

c# - 无法在 UWP 中调试 .NET Standard 2.0 DLL