簡體   English   中英

在WPF中找不到資源

[英]Cannot locate resource in WPF

我有2個組裝項目,我試圖從Library.UI組裝項目中引用Library.Books項目中的BooksGrid,但我一直收到以下異常“無法找到資源'grid / booksgridlist.xaml”,但文件存在,如下所述。
我已經嘗試了其他類似問題中解釋的幾乎所有方法,但是沒有任何效果。 難道我做錯了什么 ? 任何幫助都非常感謝。

Library.Books Assembly項目中的BooksGrid.cs。 注意:BooksGridList.xaml是位於同一項目中的資源文件。 BooksGrid.cs的絕對路徑:C:\\ Library.Books \\ Grids \\ BooksGrid.cs BooksGridList.xaml的絕對路徑:C:\\ Library.Books \\ Grids \\ BooksGridList.xaml並將此文件的構建操作設置為“資源”並將“復制到輸出”目錄設置為“不復制”-我也嘗試了“始終復制”,但這沒有用。 我清理了該項目,然后再次構建,但仍然無法正常工作。

namespace Library.Books.Grids
{
  public class BooksGrid
  { 
    public BooksGrid()
    {
        AutoGenerateColumns = false;
        CanUserAddRows = false;
        IsReadOnly = true;
    ResourceDictionary dictionary = new ResourceDictionary
        {
            Source = new Uri("pack://application:,,,/Library.Books;component/Grids/BooksGridList.xaml")
        };
   } 
  }
}

Library.UI組裝項目中的BooksSelector.xaml BooksSelector.xaml的絕對路徑:C:\\ Library.UI \\ Library.UI.BooksSelector

<UserControl x:Class=" Library.UI.BooksSelector" DataContext="{Binding RelativeSource=    {RelativeSource Self}}" 
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:ex="clr-namespace:Library.Books.Grids;assembly=Library.Books"
         xmlns:dx="clr-namespace:Library.Sections.Converters;assembly=Library.Sections">
<UserControl.Resources>
  <dx:FormattingConverter x:Key="ValueConverter" />
</UserControl.Resources>
<Grid>
 <ex:BooksGrid Name="LibraryCtrl" Grid.Column="0" Grid.Row="1" TabIndex="2"   SelectionChanged="LibraryCtrl_OnSelectionChanged"  PropertyChanged="LibraryCtrl_OnPropertyChanged">
   <ex:BooksGrid.Columns >
    <DataGridTextColumn Width="100" Header="ISBN" SortMemberPath="ISBN" Binding="{Binding Path=ISBN}" />
    <DataGridTextColumn Width="180" Header="Name" SortMemberPath="Name" Binding="{Binding Path=Name}" />
    <DataGridTextColumn Visibility="Collapsed" Width="70" Header="LibraryCode" SortMemberPath="LibraryCode" Binding="{Binding Path=LibraryCode}" />                
   </ex:BooksGrid.Columns>
  </ex:BooksGrid>
 </Grid>
</UserControl>

為什么不在xaml中這樣做。

 <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/Library.Books;component/Grids/BooksGridList.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
 </UserControl.Resources>

暫無
暫無

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

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