在WPF中使用ResourceDictionary仅输出“(Collection)”,而不输出xaml内容

问题描述 投票:0回答:1

[在WPF C#中,使用带有TabControl的xaml创建一个主应用程序,并导入一个带有TabItem的ResourceDictionary,即使在Visual Studio预览中,也仅在应用程序上呈现通用标签“(Collection)”。

MainWindow.xaml:

<Window x:Class="WpfAppPOC.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfAppPOC"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <TabControl>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="tab_input.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </TabControl>
</Window>

tab_input.xaml:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:local="clr-namespace:WpfAppPOC">

    <TabItem x:Key="tab_inputs" Header="Input">
        <StackPanel>
            <GroupBox Header="Input Registers">
                <Grid>
                    <Button>Excel Import</Button>
                    <Button>Sharepoint Import</Button>
                    <Button>Choose Path</Button>
                    <ComboBox>
                        <ComboBoxItem>
                            <TextBlock Foreground="Red">Providers</TextBlock>
                        </ComboBoxItem>
                        <ComboBoxItem>
                            <TextBlock Foreground="Green">Relations</TextBlock>
                        </ComboBoxItem>
                        <ComboBoxItem>
                            <TextBlock Foreground="Blue">Providers Contacts</TextBlock>
                        </ComboBoxItem>
                    </ComboBox>
                    <ProgressBar Minimum="0" Maximum="100" Name="pbStatus" />
                </Grid>
            </GroupBox>
        </StackPanel>
    </TabItem>
</ResourceDictionary>

How the window looks like

如何正确渲染从其他文件导入的ResourceDictionaries?

c# wpf resourcedictionary
1个回答
0
投票

您应该将TabItem资源添加到TabControl,而不是添加ResourceDictionary本身。试试这个:

© www.soinside.com 2019 - 2024. All rights reserved.