【问题标题】:How to add an Image in the title bar?如何在标题栏中添加图片?
【发布时间】:2016-07-27 16:20:34
【问题描述】:

标题栏中的图标太小,所以我想添加Image而不是Icon。

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    如果你不喜欢使用图标,唯一的方法就是制作一个自定义标题栏,我认为...

    您可以使用以下代码: 这是 XAML 代码:

    <Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525" WindowStyle="None">
    <Grid>
        <Border BorderBrush="#FF00860C" BorderThickness="3" Name="border1" Margin="0,30,0,0"></Border>
        <Rectangle Name="rectangle1" Stroke="#FF2446FF" StrokeThickness="3" Height="30" VerticalAlignment="Top" MouseDown="rectangle1_MouseDown">
            <Rectangle.Fill>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="White" Offset="0.013" />
                    <GradientStop Color="White" Offset="1" />
                    <GradientStop Color="#FF7CAEFF" Offset="0.477" />
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>
        <Button Content="X" Height="24" HorizontalAlignment="Right" Margin="0,3,3,0" Name="button1" VerticalAlignment="Top" Width="23" Click="button1_Click" />
        <Button Content="□" Height="24" HorizontalAlignment="Right" Margin="0,3,26,0" Name="button2" VerticalAlignment="Top" Width="23" Click="button2_Click" />
        <Button Content="__" Height="24" HorizontalAlignment="Right" Margin="0,3,49,0" Name="button3" VerticalAlignment="Top" Width="23" Click="button3_Click" />
        <TextBlock Height="23" HorizontalAlignment="Left" Margin="102,4,0,0" Name="textBlock1" Text="Custom Title bar" VerticalAlignment="Top" FontSize="18" MouseDown="rectangle1_MouseDown"/>
        <Image Height="22" HorizontalAlignment="Left" Margin="8,4,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="26" />
    </Grid>
    

    这是 C# 代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    namespace WpfApplication1
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, RoutedEventArgs e)
            {
                this.Close();
            }
    
            private void button2_Click(object sender, RoutedEventArgs e)
            {
                if (this.WindowState == WindowState.Maximized)
    
                    this.WindowState = WindowState.Normal;
                else
                    this.WindowState = WindowState.Maximized;
            }
    
            private void button3_Click(object sender, RoutedEventArgs e)
            {
                this.WindowState = WindowState.Minimized;
            }
    
            private void rectangle1_MouseDown(object sender, MouseButtonEventArgs e)
            {
                DragMove();
            }
    
        }
    }
    

    【讨论】:

    • 为一个人工作。等一下。 :D
    • 应该有办法使用shell integration library自定义标题栏。
    • 你能告诉我如何移动那个表格吗?
    • 哦...这也是我的问题。我现在正在搜索。
    • 你能告诉我如何点击最大化按钮来恢复大小吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 2020-07-09
    • 2014-01-20
    • 1970-01-01
    • 2013-07-21
    • 2018-04-08
    • 2017-05-27
    相关资源
    最近更新 更多