wpf 我有一个 PopupBox,我想为其更改图标。目前它默认为 DotsVertical,我想将它作为 DotsHorizo​​ntal

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/44683929/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-13 14:06:25  来源:igfitidea点击:

I have a PopupBox that I want to change the icon for. Currently it defaults to DotsVertical and I would like to have it as a DotsHorizontal

wpfxamlmaterial-design-in-xaml

提问by David Lee

I am using MaterialDesignInXAML for a WPF application. I have a PopupBox that I want to change the icon for. Currently it defaults to DotsVerticaland I would like to have it as a DotsHorizontal.

我正在将 MaterialDesignInXAML 用于 WPF 应用程序。我有一个 PopupBox,我想为其更改图标。目前它默认为DotsVertical,我想把它作为DotsHorizontal.

I tried the following with no luck.

我尝试了以下但没有运气。

<materialDesign:PopupBox PlacementMode="BottomAndAlignRightEdges" StaysOpen="False">
    <materialDesign:PopupBox.Content>
        <materialDesign:PackIcon Kind="DotsHorizontal" />
    </materialDesign:PopupBox.Content>
    <StackPanel>
        <TextBlock Text="Test1" />
        <TextBlock Text="Test2" />
        <TextBlock Text="Test3" />
    </StackPanel>
</materialDesign:PopupBox>

Thanks in advance!

提前致谢!

回答by David Lee

Figured it out and will leave an answer here in case anyone else comes across this issue. There is a property called ToggleContent

想通了,并会在此处留下答案,以防其他人遇到此问题。有一个属性叫ToggleContent

<materialDesign:PopupBox PlacementMode="BottomAndAlignRightEdges" StaysOpen="False">
    <materialDesign:PopupBox.ToggleContent>
        <materialDesign:PackIcon Kind="DotsHorizontal" />
    </materialDesign:PopupBox.ToggleContent>
    <StackPanel>
        <TextBlock Text="Test1" />
        <TextBlock Text="Test2" />
        <TextBlock Text="Test3" />
    </StackPanel>
</materialDesign:PopupBox>

回答by Ahmed_mag

In order to change the Icon and preserve the current style use this:

为了更改图标并保留当前样式,请使用以下命令:

<materialDesign:PopupBox PlacementMode="BottomAndAlignRightEdges" StaysOpen="False">
     <materialDesign:PopupBox.ToggleContent>
         <materialDesign:PackIcon Kind="DotsHorizontal" 
                                Foreground="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=materialDesign:PopupBox}, Path=Foreground}"                        />
         </materialDesign:PopupBox.ToggleContent>
    <StackPanel>
        <TextBlock Text="Test1" />
        <TextBlock Text="Test2" />
        <TextBlock Text="Test3" />
    </StackPanel>
</materialDesign:PopupBox>