2013-08-22 14 views
5

W przypadku WPF, gdy wstawię ProgressBar w pliku XAML, jego wysokość wynosi domyślnie około 2 lub 3 pikseli.C# WPF ProgressBar "domyślna" wysokość

Tiny progress bar.

jakiej wysokości należy umieścić pod kątem spójności z innymi aplikacjami Windows (i wyregulować wysokość w zależności od rozdzielczości dpi, itd.)? Próbowałem ustawić Height="auto", ale wynik jest taki sam.

<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> 

Odpowiedz

8

Okna Progressbar Wytyczne ma dość dobrą wskazówkę wyjścia,

Recommended sizing and spacing

Wystarczy okrywać link odchodzi:

enter image description here

+0

"Zabawne" jest to, że wymiary są podane w DLU i pikselach (myślę, że piksele są konwertowane z jednostek DLU przy użyciu domyślnych parametrów systemu Windows?), Ale nie w DVI (których używa XAML). No cóż. –

0

wierzę typowa wysokość innych kontroli jest 23.

Tak więc, na pasku postępu, należy użyć następujących:

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

Możesz zmienić wysokość górę lub w dół w zależności od miejsca, w którym znajduje się pasek postępu oraz od tego, jak bardzo chcesz go wyświetlać. Widziałem wiele aplikacji z naprawdę wysokim progiem, aby użytkownik na pewno je zobaczył. Tylko zależy od tego, jak chcesz wyglądać.

+0

Typowa wysokość innych kontroli jest 23 z domyślnych czcionek i DPI . Po prostu mówię ... @GeorgesDuperon: Jeśli masz coś, na co chcesz zakotwiczyć, jak etykietę lub blok tekstu, który dziedziczy styl tekstu z systemu operacyjnego, możesz chcieć, aby zdecydował o wysokości. Wszystko zależy od wymagań. –

+2

Jestem pewien, że wartości WPF NIE są w pikselach, ale są liczbą, która byłaby używana jako baza, a WPF uwzględniałoby ustawienie DPI i proporcjonalnie dostosowywało wysokość ustawioną w oparciu o ustawienia DPI. – Curtis

+0

Sprawiedliwość, zapomniałem o urządzeniach niezależnych od urządzeń od czasu pracy w Internecie. Nadal jednak używałbym czegoś innego jako kotwicy, niż sztywnego kodowania wartości. –