2 개의 어셈블리 프로젝트가 있고 Library.Books 프로젝트에서 BooksGrid를 참조하려고합니다. Library.UI 어셈블리 프로젝트에서 계속하지만 "리소스를 찾을 수 없습니다 'grid/booksgridlist.xaml "파일은 아래에 설명 된대로 존재합니다.
다른 유사한 질문에서 설명한대로 거의 모든 것을 시도했지만 아무 효과가 없습니다. 내가 뭐 잘못하고있는거야? 어떤 도움이든 사전에 높이 평가됩니다.WPF에서 리소스를 찾을 수 없습니다
Library.Books 어셈블리 프로젝트의 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")
};
}
}
}
는 BooksSelector.xaml Library.UI 조립 프로젝트 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 (Library.UI.BooksSelector)을 의미합니까? 그렇다면 참조 된 어셈블리 (Library.Books) 대신 Library.UI 어셈블리의 리소스를 의미하지 않습니까? –
이 스타일을 적용하려는 Usercontrol.xaml을 말합니다. 이 경우 MainWindow에도 추가 할 수 있습니다.이 경우 대신 를 사용해야합니다. –
원본 = "{응용 프로그램 이름}; 구성 요소/{확장자가있는 리소스 경로}" – George