Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C“WPF ProgressBar”;“违约”;高度_C#_Wpf_Progress Bar - Fatal编程技术网

C# C“WPF ProgressBar”;“违约”;高度

C# C“WPF ProgressBar”;“违约”;高度,c#,wpf,progress-bar,C#,Wpf,Progress Bar,在WPF中,当我在XAML文件中放置ProgressBar时,默认情况下,其高度约为2或3像素 为了与其他Windows应用程序保持一致,我应该设置什么高度(并根据dpi分辨率等调整高度)?我尝试设置Height=“auto”,但结果相同 <Window x:Class="WpfApplication2.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

在WPF中,当我在
XAML
文件中放置
ProgressBar
时,默认情况下,其高度约为2或3像素

为了与其他Windows应用程序保持一致,我应该设置什么高度(并根据dpi分辨率等调整高度)?我尝试设置
Height=“auto”
,但结果相同

<Window x:Class="WpfApplication2.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">
    <DockPanel Name="dockPanel1">
        <ProgressBar Name="progressBar1" Value="33" DockPanel.Dock="Top"/>
        <TreeView Name="treeView1" />
    </DockPanel>
</Window>

我认为其他控件的典型高度为23

因此,对于进度条,请使用以下命令:

<ProgressBar Name="progressBar1" Height="23" Value="33" DockPanel.Dock="Top"/>


您可能希望根据进度条的位置和显示方式的上下文向上或向下更改高度。我见过很多应用程序都有一个非常高的进度条,所以用户肯定会看到它。这取决于您希望它的外观。

Windows Progressbar指南有一个非常好的开始提示

以防链接消失:


其他控件的典型高度为23,带有默认字体和DPI。只是说@GeorgesDuperon:如果你有一些东西想要固定在上面,比如从操作系统继承文本样式的标签或文本块,你可能希望让它决定高度。这完全取决于要求。我非常确定WPF值不是以像素为单位的,而是一个用作基数的数字,WPF将考虑DPI设置,并根据DPI设置按比例调整您设置的高度。公平点,自从在web land工作以来,我忘了设备独立单位。不过,我还是会使用其他东西作为锚定,而不是硬编码值。@Curtis请参阅有关WPF分辨率独立性的讨论。基本上,它可以正确地进行调整,尽管它不会做您可能认为的事情。有趣的是,尺寸是以DLU和像素(我猜像素是使用windows的默认参数从DLU转换而来的?),而不是DVIs(XAML使用的)。哦,好吧。