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

Dav*_*Lee 6 wpf xaml material-design-in-xaml

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

我试了以下没有运气.

<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>
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Dav*_*Lee 13

想出来并在这里留下答案,以防其他人遇到这个问题.有一个叫做的房产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>
Run Code Online (Sandbox Code Playgroud)


小智 5

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

<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>
Run Code Online (Sandbox Code Playgroud)