سؤال

لقد وجدت الرمز التالي لعرض العنصر المحدد في TreeView عند ترك Focus ، لكنني أواجه مشكلة في نقل الكود إلى App.xaml حتى يتمكن أي UserControl من استخدامه.

هذا يفعل ما أريد

<TreeView x:Name="trviewArchives" Width="141" Height="154" Canvas.Left="20" Canvas.Top="167"  Background="{x:Null}" BorderBrush="#FF081827" BorderThickness="0">
            <TreeView.Resources>
                <TreeViewItem x:Key="bold" FontWeight="Bold" />
                <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Peru"/>
                <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black"/>
                <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Peru"/>
            </TreeView.Resources>

لكن لا يمكنني معرفة كيفية صنع نمط منه. لقد جربت ما يلي ، والتي تصحيح طبقات بشكل نحلي

            <Style x:Key="TreeStyle" TargetType="{x:Type TreeView}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="TreeViewItem">
                        <TreeViewItem>
                            <Setter x:Name="bold" Property="FontWeight" Value="Bold" />
                        </TreeViewItem>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

وفي Usercontrol

<TreeView x:Name="trviewArchives" Width="141" Height="154" Canvas.Left="20" Canvas.Top="167"  Background="{x:Null}"  Style="{DynamicResource ResourceKey=TreeStyle}"
                  BorderBrush="#FF081827" BorderThickness="0" >

عند نقطة واحدة ، أدرك رمز USERCONTROL النمط ، ولكن حاليًا لا يمكن حل "الموارد treestyle".
ما الخطأ الذي افعله؟
هل أحتاج إلى نطاق Treestyle نظرًا لأن مساحة الاسم (الوالدية) مختلفة؟ بمجرد أن أحصل عليه باستخدام النمط ، ما هو بناء الجملة لضبط الخصائص الأخرى؟

هل كانت مفيدة؟

المحلول

تم إعداد المشروع في البداية كمكتبة فئة. في مكان ما في ملف المشروع ، أظن أنه يخبر WPF ما إذا كنت تريد البحث في app.xaml ، وإذا كانت صياغة ، فلن تنظر إلى هناك ، إلا إذا أخبرته بالتحديد أن تبحث في هذا الملف (قمت بدمج القاموس يبدو أن هذا يعمل).

لقد اكتشفت ذلك عندما تذكرت أنها كانت في السابق مكتبة الفصل ، لذلك قمت بنسخ الكود إلى مشروع جديد وكان كل شيء جيدًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top