NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Tomáš Vitek:26.1.2018 22:30

Ahoj,
jsem začátečník ve WPF a narazil jsem na problém. Mám Grid, ve kterém je přes 1 řádek roztažený další Grid. Oba mají stejně nastavené velikosti sloupců v Grid.ColumnDe­finitions (125, 1*, 75). První sloupec je u obou dvou stejně veliký, ale 2. a 3. sloupce se zobrazují u každého Gridu jinak!

Když jde (mimo prostřední sloupec) o jednotky DPI, neměly by se zobrazovat stejně? Čím je to způsobeno a jak to opravit?

Díky za odpovědi.

Pro úplnost - tady je kód WPF okna

<Grid>
<ScrollViewer VerticalScrollBar­Visibility="Au­to" HorizontalScro­llBarVisibili­ty="Auto">
<Grid Margin="5">
<Grid.RowDefi­nitions>
<RowDefinition Height="20" />
<RowDefinition Height="20" />
<RowDefinition Height="20" />
<RowDefinition Height="1*" />
<RowDefinition Height="30" />
</Grid.RowDefi­nitions>
<Grid.ColumnDe­finitions>
<ColumnDefinition Width="125" />
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="75" />
</Grid.ColumnDe­finitions>
<!-- Hlavní popisky -->
<Label Content="_Jméno: " Target="{Binding ElementName=na­meTextBlock}" Grid.Row="0" Grid.Column="0" Padding="0"/>
<Label Content="_Hmotnost" Target="{Binding ElementName=mas­sTextBox}" Grid.Row="1" Grid.Column="0" Padding="0" />
<Label Content="_Typ zadávání" Padding="0" Grid.Row="2" Grid.Column="0"/>

<!-- Hlavní TextBoxy-->
<TextBox Name="nameTextBox" Grid.Row="0" Grid.Column="1" Margin="1"/>
<TextBox Name="massTextBox" Grid.Row="1" Grid.Column="1" Margin="1"/>
<!-- RadioButtony pro typ zadávání -->
<StackPanel Orientation="Ho­rizontal" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" >
<RadioButton Name="directRa­dioButton" Content="Přímé" IsChecked="True" Margin="0,2,20,0"/>
<RadioButton Name="orbitRa­dioButton" Content="Pomocí orbity" IsChecked="False" Margin="0,2"/>
</StackPanel>

<!-- ComboBox pro určení jednotky hmotnosti-->
<ComboBox Name="massUnit­ComboBox" Grid.Column="2" Grid.Row="1" Margin="1" />
<!-- Přímé zadávání -->
<Grid Name="directLa­belsStackPanel" IsEnabled="True" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="3" Visibility="Vi­sible">
<Grid.RowDefi­nitions>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
</Grid.RowDefi­nitions>
<Grid.ColumnDe­finitions>
<ColumnDefinition Width="125" />
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="75" />
</Grid.ColumnDe­finitions>
<!-- Popisky -->
<Label Content="Poloha X" Padding="0" Grid.Row="0" Grid.Column="0"/>
<Label Content="Poloha Y" Padding="0" Grid.Row="1" Grid.Column="0"/>
<Label Content="Poloha Z" Padding="0" Grid.Row="2" Grid.Column="0"/>
<Label Content="Rychlost X" Padding="0" Grid.Row="3" Grid.Column="0"/>
<Label Content="Rychlost Y" Padding="0" Grid.Row="4" Grid.Column="0"/>
<Label Content="Rychlost Z" Padding="0" Grid.Row="5" Grid.Column="0"/>

<!-- Vstupní pole -->
<TextBox Name="XTextBox" Grid.Row="0" Grid.Column="1" Margin="1" />
<TextBox Name="YTextBox" Grid.Row="1" Grid.Column="1" Margin="1" />
<TextBox Name="ZTextBox" Grid.Row="2" Grid.Column="1" Margin="1" />
<TextBox Name="VXTextBox" Grid.Row="3" Grid.Column="1" Margin="1" />
<TextBox Name="VYTextBox" Grid.Row="4" Grid.Column="1" Margin="1" />
<TextBox Name="VZTextBox" Grid.Row="5" Grid.Column="1" Margin="1" />

<!-- ComboBoxy pro jednotky -->
<ComboBox Name="XUnitCom­boBox" Grid.Row="0" Grid.Column="2" Margin="1" />
<ComboBox Name="YUnitCom­boBox" Grid.Row="1" Grid.Column="2" Margin="1" />
<ComboBox Name="ZUnitCom­boBox" Grid.Row="2" Grid.Column="2" Margin="1"/>
<ComboBox Name="VXUnitCom­boBox" Grid.Row="3" Grid.Column="2" Margin="1" />
<ComboBox Name="VYUnitCom­boBox" Grid.Row="4" Grid.Column="2" Margin="1" />
<ComboBox Name="VZUnitCom­boBox" Grid.Row="5" Grid.Column="2" Margin="1" />
</Grid>

</Grid>
</ScrollViewer>
</Grid>

 
Odpovědět
26.1.2018 22:30
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Tomáš Vitek
ostrozan:27.1.2018 6:56

rozbíjí ti to ten StackPanel - dej mu ColumnSpan na 1 a bude to OK :)

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
27.1.2018 6:56
Avatar
Odpovídá na ostrozan
Tomáš Vitek:27.1.2018 9:57

Díky, už všechno funguje.

 
Nahoru Odpovědět
27.1.2018 9:57
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.