WPF jak zrobić treści ekspander ruch
Witam Pragnę dodać kontroli WPF do ElementHost w mojej aplikacji WinForms. Zachowanie mojej kontroli jest przedstawione na obrazku. Chciałbym rozszerzyć każdy ekspander, aby zmienić wielkość kontrolki widoku drzewa na mniejszy. I na początku chciałbym, żeby moje ekspandery zostały zawalone.
próbowałem czegoś tak:
<UserControl x:Class="LeftPane"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" >
<Grid VerticalAlignment="Stretch" Margin="3,3,3,3">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TreeView Grid.Row="0" Name="treeView1" VerticalAlignment="Stretch" >
</TreeView>
<StackPanel Grid.Row="1" Name="StackPanel1" VerticalAlignment="Bottom">
<ListBox SelectedIndex="1">
<ListBoxItem VerticalAlignment="Stretch">
<Expander Grid.Row="1" ExpandDirection="Down" Header="expander1" VerticalAlignment="Stretch" Name="expander1" IsExpanded="False">
<ListBox>
<ListBoxItem Content="Unit 1"/>
<ListBoxItem Content="Unit 2"/>
</ListBox>
</Expander>
</ListBoxItem>
<ListBoxItem VerticalAlignment="Stretch">
<Expander Grid.Row="2" ExpandDirection="Down" Header="expander2" VerticalAlignment="Stretch" Name="expander2" IsExpanded="False">
<ListBox>
<ListBoxItem Content="Unit 1"/>
<ListBoxItem Content="Unit 2"/>
</ListBox>
</Expander>
</ListBoxItem>
</ListBox>
</StackPanel>
</Grid>
oraz:
public void AddControl(ElementHost host)
{
this.parentHost = host;
host.Child = this;
this.Height = host.Size.Height;
treeView1.MaxHeight = this.Height - 60;
}
Ale to nie działa poprawnie. Co więcej, chciałbym zmienić wielkość tej kontrolki podczas zmiany rozmiaru okna winForms.
Czy ktoś może mi pomóc jak ustawić Aligment itp
To sprawia, że jeden ekspander pojawia się na innym. Co więcej, kontrola nie jest skalowana, gdy zmieniam rozmiar okna nadrzędnego WinForms. – santBart
@santBart Załóżmy, że Sheridan oznaczało Grid.Row = "2" na drugim ekspanderze – Alex
Dzięki @voo. Przepraszam, mój błąd ... Zaktualizowałem teraz swój kod. – Sheridan