小编and*_*egn的帖子

AllowTransparency使最大化的过扫描

我目前正在使用WPF制作媒体播放器,遇到了一个问题。

我希望布局没有常规的Windows边框和阴影。我通过设置WindowStyle = none和AllowTransparency = true来完成此操作。只要我不想在全屏模式下使用它,所有这些都可以很好地工作。一旦我尝试将WindowState设置为最大化,它就会像疯了似的过扫描(它会切断所有边缘)。这显然是由AllowTransparency = true部分引起的。如果将其设置为false,则最大化的部分将按预期工作。不幸的是,一旦启动应用程序,我将无法设置AllowTransparency。我可以通过使用边框并调整其边距来对此进行某种程度的补偿,但是它看起来并不正确,并且我不确定它是否可以在不同的分辨率下使用。

所以总结一下:

  • 是否可以通过AllowTransparency = true使WindowState最大化地正常工作?
  • 或者是否有另一种方法可以在不设置AllowTransparency = true的情况下使窗口不具有正常的窗口边框
  • 还是有更好的方法使应用程序全屏显示?

有没有人有解决方案或想法来实现这一目标?

c# wpf xaml fullscreen maximize

5
推荐指数
1
解决办法
602
查看次数

如何在 GridViewRowPresenter 中设置 ContentPresenter 属性?

我试图让 ListView 中的文本与单元格的顶部对齐。

这是我到目前为止所做的:

数据绑定如下:

<ListView.View>
  <GridView>
    <GridViewColumn Width="50">
      <GridViewColumn.CellTemplate>
        <DataTemplate>
          <TextBlock Text="{Binding RelativeSource={RelativeSource FindAncestor,
                                        AncestorType={x:Type ListViewItem}},
                                    Converter={StaticResource lviIndexToString}}"
                     Foreground="White"
                     VerticalAlignment="Top"/>
        </DataTemplate>
      </GridViewColumn.CellTemplate>
    </GridViewColumn>
    <GridViewColumn Width="80">
      <GridViewColumn.CellTemplate>
        <DataTemplate>
          <TextBlock Text="{Binding LogTime}"
                     Foreground="{StaticResource ConsoleOrange}"/>
        </DataTemplate>
      </GridViewColumn.CellTemplate>
    </GridViewColumn>
    <GridViewColumn Width="80">
      <GridViewColumn.CellTemplate>
        <DataTemplate>
          <TextBlock Text="{Binding MessageType}"
                     Foreground="{Binding MessageType,
                         Converter={StaticResource logMsgToColor}}"/>
        </DataTemplate>
      </GridViewColumn.CellTemplate>
    </GridViewColumn>
    <GridViewColumn DisplayMemberBinding="{Binding Path=Message}"/>
  </GridView>
</ListView.View>
Run Code Online (Sandbox Code Playgroud)

ItemContainer是风格是这样的:

<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="Template">
  <Setter.Value>
    <ControlTemplate TargetType="ListViewItem">
      <Grid>
        <GridViewRowPresenter VerticalAlignment="Stretch">
          <GridViewRowPresenter.Resources>
            <Style TargetType="ContentPresenter">
              <Setter Property="Margin" Value="1"/>
              <Setter Property="VerticalAlignment" …
Run Code Online (Sandbox Code Playgroud)

wpf xaml visual-studio

4
推荐指数
1
解决办法
1531
查看次数

标签 统计

wpf ×2

xaml ×2

c# ×1

fullscreen ×1

maximize ×1

visual-studio ×1