【问题标题】:Why the icon is inserted crookedly into the button. С# WPF为什么图标被歪斜地插入到按钮中。 С#WPF
【发布时间】:2020-06-07 13:29:21
【问题描述】:

XAML:

        <Grid Height="22" VerticalAlignment="Top" Background="#FF1368BD"  >

        <Button x:Name="ButtonPowerOff" HorizontalAlignment="Right" Height="22" Width="22" Background="{x:Null}" BorderBrush="{x:Null}" Click="ButtonPowerOff_Click">
            <materialDesign:PackIcon Width="15" Height="15" Kind="WindowClose" HorizontalAlignment="Center" Margin="0 0 0 0" ></materialDesign:PackIcon>
        </Button>


    </Grid>

【问题讨论】:

    标签: c# wpf xaml material-design


    【解决方案1】:

    您可以尝试将按钮的高度和宽度设置为“自动”,并将按钮中的内边距设置为“0”。同时删除图标的Horizo​​ntalAlignment。

    【讨论】:

      【解决方案2】:

      我不知道 PackIcon 是什么库,这很重要,因为我不知道它的行为。但我可以告诉...

      既然设置了Button大小,为什么还要设置PackIcon大小?

      这里的问题是按钮可能具有默认填充,使按钮的“有效内容”大小小于图像,并且图像正在执行您想要的操作,但“所需的空间大于我拥有的空间”。

      让图像在按钮中拉伸(不设置大小)或让按钮适合图像 15x15 大小(不设置按钮大小)。

      WPF 中的所有内容都已准备好进行无尺寸/无位置布局。当然,Canvas 孩子除外;以及图像控制的一些奇怪行为。 如果您可以避免在控件中使用宽度和高度(有时您不能),您应该这样做。而是使用边距、对齐和填充。这样您就可以让窗口和控件完全响应。

      【讨论】:

      • 只有当我设置 Width 40+ 时才会出现图标。我尝试了您的建议,但没有任何改变。也许只是不使用 PackIcon。还有其他带有图标的库吗?
      • 我再说一遍,我不知道您使用的是什么库,或者该库是否覆盖了 Button 样式或其他内容。我将尝试将按钮中的“Horizo​​ntalContentAlignment”和“VerticalContentAlignment”和“Padding”设置为“Stretch”和“0”。并查看图标是否可见。
      猜你喜欢
      • 2014-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-20
      • 2012-03-30
      相关资源
      最近更新 更多