0

我正在 WPF 的自定义控件库中创建导航抽屉或汉堡菜单(从侧面滑入的菜单),正如您所知,主题文件夹和类文件中有一个通用文件,通用文件描述了样式控件和具有控件依赖属性的类文件

因此,导航控件的样式在通用文件中定义,其依赖属性在名为 Navdrawer 的类中定义,navdrawer 菜单通过复选框的 ischecked 属性打开

主要问题是,在我要使用此自定义控件的项目中,安装了一个名为 MaterialDesignforXAML 的图标包,我想在复选框内插入一个切换按钮,但通过主项目,我不想安装完整的包在我的自定义控件中只有一个 ICON

<CheckBox x:Name="MenuBtn" Grid.Row="0" Margin="5, 15">
    <CheckBox.Template>
        <ControlTemplate TargetType="CheckBox">
            <ContentControl Content="{Binding CBstyle}"/>
        </ControlTemplate>
    </CheckBox.Template>
</CheckBox>
public Object CBstyle
{
    get { return (Object)GetValue(CBstyleProperty); }
    set { SetValue(CBstyleProperty, value); }
}

public static readonly DependencyProperty CBstyleProperty =
    DependencyProperty.Register("CBstyle", 
                                 typeof(Object), typeof(NavDrawer), 
                                 new PropertyMetadata(null));

主项目文件

<nb:NavDrawer.CBstyle>
 <ToggleButton x:Name="tglbtn" 
               Style="{DynamicResource MaterialDesignHamburgerToggleButton}" 
               Height="45" Margin="0,20,0,0" Width="45" 
               HorizontalAlignment="Center" 
               VerticalAlignment="Top"/>
</nb:NavDrawer.CBstyle>
4

0 回答 0