簡體   English   中英

WPF 在后面的代碼中找不到 XAML 資源

[英]WPF Can't find XAML Resource in code behind

我有一個 Page1.xaml,其中包含一個 CollectionViewSource 作為資源,如下所示:

 <Page.Resources>

        <CollectionViewSource x:Key="MyItems" Source="{Binding Path=Products}" Filter="CollectionViewSource_Filter" >
            <CollectionViewSource.GroupDescriptions>
                <PropertyGroupDescription PropertyName="AssetCategory" />
            </CollectionViewSource.GroupDescriptions>
        </CollectionViewSource>


</Page.Resources>

我想像這樣刷新 CollectionViewSource:

((CollectionViewSource)FindResource("MyItems")).View.Refresh();

但是 FindResource(或 TryFindResource)返回 null,我已經設置 this.DataContext = this 並且所有綁定都有效。 有人知道我做錯了什么嗎?

我在 ComboBox SelectionChanged 事件上調用了 FindResource,它的選擇索引設置為 0。我認為組合框在資源之前加載。 我只是通過檢查頁面是否加載來解決它:

 if (IsLoaded) 
 {
     ((CollectionViewSource)FindResource("MyItems")).View.Refresh();
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM