c# - 工作框架 | C# - 当 WindowStyle = "None"并且窗口最大化时,任务栏不显示

标签 c# wpf user-interface taskbar

WindowStyle="None" 时,如何才能看到任务栏。我试图通过删除实际的窗口标题栏并使用 dll 删除边框来拥有自己的按钮(关闭、最大化、最小化)。非常感谢易于维护和易于放入我的代码。

最佳答案

一个可能的修复方法是:限制窗口的最大尺寸。例如:

C#代码:

/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }

    private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {
       if (WindowState == WindowState.Normal)
        {
            System.Drawing.Rectangle rec = System.Windows.Forms.Screen.FromHandle(new System.Windows.Interop.WindowInteropHelper(this).Handle).WorkingArea;
            MaxHeight = rec.Height;
            MaxWidth = rec.Width;
            ResizeMode = ResizeMode.NoResize;
            WindowState = WindowState.Maximized;
        }
        else
        {
            MaxHeight = double.PositiveInfinity;
            MaxWidth = double.PositiveInfinity;
            ResizeMode = ResizeMode.CanResize;
            WindowState = WindowState.Normal;
        }
    }
}

您需要在更改窗口状态之前设置 maxsize。否则,在某些情况下它会出错。也不要忘记 ResizeMode。

和xaml:

<Window x:Class="WpfApplication2.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" WindowStyle="None" Height="300" Width="300">
    <Grid>
        <Button Content="Button" HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top" Width="75" Click="ButtonBase_OnClick"/>
    </Grid>
</Window>

关于c# - 工作框架 | C# - 当 WindowStyle = "None"并且窗口最大化时,任务栏不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24189280/

相关文章:

c# - 如何用很多参数重构类的方法?

c# - 奇怪的委托(delegate)引用行为

c# - 如何将 DataGridViewComboBoxColumn 绑定(bind)到 OnChange 事件 (C#)

WPF:如何以编程方式提供键盘焦点位于列表框中的视觉反馈?

user-interface - 是否有用于 Common Lisp 的高级、易于安装的 GUI 库?

c++ - 向 C++ 软件添加 GUI 的最佳语言

c# - 正确使用 ArrayPool<T> 和引用类型

c# - 错误: This type of CollectionView does not support changes to its SourceCollection

c# - WPF复选框IsChecked两种方式绑定(bind)不起作用

android - Bottomsheet 总是隐藏我最后的 Recyclerview 元素