none
WPF 里关于共享同一资源的问题, RRS feed

  • 问题

  • 请版主帮帮忙,这个问题怎么解决,

    MVVM模式下,ViewModel里的部分代码如下:

    GridView tempView = this.View.mainBox.Resources["tempGridView"] as GridView;
    foreach (RoomClassify item in RoomClassifyList)
     {
            ListView listView = new ListView();
            listView.View = tempView;
            TabItem tab = new TabItem();
            tab.Content = listView;
            tab.Tag = item;
            tab.Header = item.RoomClassifyName;
            this.View.RoomListTab.Items.Add(tab);
     }

    View里定义了一个MainBox的Grid,里面有一资源tempGridView,资源指定了:x:Shared="False",但是报错:View can't shared by more than one listView

    如何复制资源?

     

    2011年5月8日 14:48

答案

  • 你好,

    x:Shared设为False的作用是使得资源系统对每个资源请求都返回不同的实例。在你的代码中你仍然使用的是同一个GridView实例,所以会报错。 把第一行代码移入循环中即可解决这个问题。


    Min Zhu [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    2011年5月10日 1:20
    版主

全部回复