c#xaml管理多个绑定(数组的属性?)

时间:2017-07-17 15:46:52

标签: c# xaml uwp uwp-xaml

我正在尝试在UWP c#项目的xaml页面中设置许多绑定,所以我想到绑定到一个数组,但我无法弄清楚如何制作这个,因为{x:中的元素绑定示例}样式绑定应该是属性。

我知道(这是正确的吗?)在c#中,不可能有一个链接到数组的属性,我的意思是这样的(即使它不是正确的):

    Brush[] _myArray = new Brush[50];

    public Brush[n] myArray
    {
        get { return _myArray[n]; }

        set { _myArray[n] = value; }
    }

所以我认为(这是一个可怕的解决方案)关于声明我的所有变量和属性,然后将所有属性添加到列表并在c#中作为列表的项目访问它们,这样的事情是明确的:

    Brush _myBrush1;
    public Brush myBrush1{...}
    List<Brush> myBrushList = new List<Brush>();

    private void initialize()
    {
        myBrushList.Add(myBrush1);
    }

然后用

    myBrushlist[0] = new SolidColorBrush(Colors.red);

没有任何反应,就像我将列表元素(而不是属性)设置为新画笔一样。

正确的方法是什么?如果没有&#34;正确的方式&#34;我怎么能纠正我的代码?

1 个答案:

答案 0 :(得分:0)

正如所建议的那样,正在寻找我正在寻找的方法是使用资源字典,在某些代码下面:

XAML

 public ActionResult IsNameAvailble(string package_name)
        {
            Dbfile db = new Dbfile ();
            var exist= db.GetAllList().FirstOrDefault(m => m.package_name == package_name);
            if (exist!= null)
            {
                return Json(false, JsonRequestBehavior.AllowGet);
            }
            else
            {
                return Json(true, JsonRequestBehavior.AllowGet);
            }
        }

C#

...
<Page.Resources>
    <SolidColorBrush x:Key="n1" Color="Red"></SolidColorBrush>
    <SolidColorBrush x:Key="n2" Color="Red"></SolidColorBrush>
</Page.Resources>
...
<Grid Background="{StaticResource n1}"/>
<Grid Background="{StaticResource n2}"/>