| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
==[[WPF レイアウト サンプル]]==
[[WPF]] | [[WPF レイアウト]] |
*ShowGridLines="True" でグリッドレイアウトの分割を可視化
<DockPanel>
<Button Content="[[Menu]]" DockPanel.Dock="Top"/>
<Button Content="Status" DockPanel.Dock="Bottom"/>
<Grid ShowGridLines="True">
<ColumnDefinition MinWidth="100" Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions[[R]]owDefinitions> <RowDefinition [[R]]owDefinition MinHeight="100" Height="1*"/> <RowDefinition [[R]]owDefinition Height="Auto"/> <RowDefinition [[R]]owDefinition MinHeight="100" Height="1*"/> </Grid.RowDefinitions[[R]]owDefinitions> <Button Grid.Column="0" Grid.Row[[R]]ow="0" Content="Left Top"/> <GridSplitter Grid.Column="0" Grid.Row[[R]]ow="1" Height="5" VerticalAlignment="Center" HorizontalAlignment="Stretch" /> <Button Grid.Column="0" Grid.Row[[R]]ow="2" Content="Left Bottom"/> <GridSplitter Grid.Column="1" Width="5" Grid.RowSpan[[R]]owSpan="3" VerticalAlignment="Stretch" HorizontalAlignment="Center"/> <Button Grid.Column="2" Grid.Row[[R]]ow="0" Grid.RowSpan[[R]]owSpan="3" Content="Content"/>
</Grid>
</DockPanel>
*TreeView を配置し、スプリットバー移動や、ツリーの展開で動的にスクロールバーが表示されるようにする
<DockPanel>
<Button Content="[[Menu]]" DockPanel.Dock="Top"/>
<Button Content="Status" DockPanel.Dock="Bottom"/>
<Grid ShowGridLines="True">
<ColumnDefinition MinWidth="100" Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions[[R]]owDefinitions> <RowDefinition [[R]]owDefinition MinHeight="100" Height="1*"/> <RowDefinition [[R]]owDefinition Height="Auto"/> <RowDefinition [[R]]owDefinition MinHeight="100" Height="1*"/> </Grid.RowDefinitions[[R]]owDefinitions>
<TreeView Grid.Column="0" ItemsSource="{Binding TreeItems}">
<TreeView.ItemTemplate>
</TreeView.ItemTemplate>
</TreeView>
<GridSplitter Grid.Column="0" Grid.Row[[R]]ow="1" Height="5" VerticalAlignment="Center" HorizontalAlignment="Stretch" /> <Button Grid.Column="0" Grid.Row[[R]]ow="2" Content="Left Bottom"/> <GridSplitter Grid.Column="1" Width="5" Grid.RowSpan[[R]]owSpan="3" VerticalAlignment="Stretch" HorizontalAlignment="Center"/> <Button Grid.Column="2" Grid.Row[[R]]ow="0" Grid.RowSpan[[R]]owSpan="3" Content="{Binding Name}"/>
</Grid>
</DockPanel>
*コンテンツとしてテキストを可変サイズにする
<DockPanel>
<Button Content="[[Menu]]" DockPanel.Dock="Top"/>
<Button Content="Status" DockPanel.Dock="Bottom"/>
<Grid ShowGridLines="False">
<ColumnDefinition MinWidth="100" Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions[[R]]owDefinitions> <RowDefinition [[R]]owDefinition MinHeight="100" Height="1*"/> <RowDefinition [[R]]owDefinition Height="Auto"/> <RowDefinition [[R]]owDefinition MinHeight="100" Height="1*"/> </Grid.RowDefinitions[[R]]owDefinitions> <Grid Grid.Column="0" Grid.Row[[R]]ow="0" ShowGridLines="False"> <Grid.RowDefinitions[[R]]owDefinitions> <RowDefinition [[R]]owDefinition Height="Auto"/> <RowDefinition [[R]]owDefinition Height="*"/> </Grid.RowDefinitions[[R]]owDefinitions> <DockPanel Grid.Row[[R]]ow="0">
<TextBlock Text="Search" Width="Auto" DockPanel.Dock="Left"/>
<Button Content="Control" Width="Auto" DockPanel.Dock="Right[[R]]ight"/>
<TextBox />
</DockPanel>
<TreeView Grid.Row[[R]]ow="1" ItemsSource="{Binding TreeItems}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:TreeEntity}" ItemsSource="{Binding Children}">
</TreeView>
</Grid>
<GridSplitter Grid.Column="0" Grid.Row[[R]]ow="1" Height="5" VerticalAlignment="Center" HorizontalAlignment="Stretch" /> <Grid Grid.Column="0" Grid.Row[[R]]ow="2" ShowGridLines="False"> <Grid.RowDefinitions[[R]]owDefinitions> <RowDefinition [[R]]owDefinition Height="Auto"/> <RowDefinition [[R]]owDefinition Height="*"/> </Grid.RowDefinitions[[R]]owDefinitions> <DockPanel Grid.Row[[R]]ow="0">
<TextBlock Text="Search" Width="Auto" DockPanel.Dock="Left"/>
<Button Content="Control" Width="Auto" DockPanel.Dock="Right[[R]]ight"/>
<TextBox />
</DockPanel>
<TreeView Grid.Row[[R]]ow="1" ItemsSource="{Binding TreeItems}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:TreeEntity}" ItemsSource="{Binding Children}">
</TreeView>
</Grid>
<GridSplitter Grid.Column="1" Width="5" Grid.RowSpan[[R]]owSpan="3" VerticalAlignment="Stretch" HorizontalAlignment="Center"/> <Button Grid.Column="2" Grid.Row[[R]]ow="0" Grid.RowSpan[[R]]owSpan="3" Content="{Binding Name}"/>
</Grid>
</DockPanel>
[[File:1455_wpf_layout04.jpg]]
<DockPanel>
<[[Menu ]] DockPanel.Dock="Top" Height="Auto"> <MenuItem [[Header]]="ファイル(_F)" /> <MenuItem [[Header]]="編集(_E)" /> <MenuItem [[Header]]="オプション(_O)"> <MenuItem IsCheckable="True" [[Header]]="オプション1" /> <MenuItem IsCheckable="True" [[Header]]="オプション2" /> <MenuItem IsCheckable="True" [[Header]]="オプション3" /> </MenuItem[[Menu]]Item> </[[Menu]]>
<StatusBar DockPanel.Dock="Bottom">
<StatusBarItem Width="60" DockPanel.Dock="Right[[R]]ight">Panel2</StatusBarItem> <Separator DockPanel.Dock="Right[[R]]ight" /> <StatusBarItem Width="60" DockPanel.Dock="Right[[R]]ight">Panel3</StatusBarItem> <Separator DockPanel.Dock="Right[[R]]ight" />
<StatusBarItem>Panel1</StatusBarItem>
</StatusBar>
<ColumnDefinition MinWidth="100" Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions[[R]]owDefinitions> <RowDefinition [[R]]owDefinition MinHeight="100" Height="1*"/> <RowDefinition [[R]]owDefinition Height="Auto"/> <RowDefinition [[R]]owDefinition MinHeight="100" Height="1*"/> </Grid.RowDefinitions[[R]]owDefinitions> <Grid Grid.Column="0" Grid.Row[[R]]ow="0" ShowGridLines="False"> <Grid.RowDefinitions[[R]]owDefinitions> <RowDefinition [[R]]owDefinition Height="Auto"/> <RowDefinition [[R]]owDefinition Height="*"/> </Grid.RowDefinitions[[R]]owDefinitions> <DockPanel Grid.Row[[R]]ow="0">
<TextBlock Text="Search" Width="Auto" DockPanel.Dock="Left"/>
<Button Content="Control" Width="Auto" DockPanel.Dock="Right[[R]]ight"/>
<TextBox />
</DockPanel>
<TreeView Grid.Row[[R]]ow="1" ItemsSource="{Binding TreeItems}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:TreeEntity}" ItemsSource="{Binding Children}">
</TreeView>
</Grid>
<GridSplitter Grid.Column="0" Grid.Row[[R]]ow="1" Height="5" VerticalAlignment="Center" HorizontalAlignment="Stretch" /> <Grid Grid.Column="0" Grid.Row[[R]]ow="2" ShowGridLines="False"> <Grid.RowDefinitions[[R]]owDefinitions> <RowDefinition [[R]]owDefinition Height="Auto"/> <RowDefinition [[R]]owDefinition Height="*"/> </Grid.RowDefinitions[[R]]owDefinitions> <DockPanel Grid.Row[[R]]ow="0">
<TextBlock Text="Search" Width="Auto" DockPanel.Dock="Left"/>
<Button Content="Control" Width="Auto" DockPanel.Dock="Right[[R]]ight"/>
<TextBox />
</DockPanel>
<TreeView Grid.Row[[R]]ow="1" ItemsSource="{Binding TreeItems}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:TreeEntity}" ItemsSource="{Binding Children}">
</TreeView>
</Grid>
<GridSplitter Grid.Column="1" Width="5" Grid.RowSpan[[R]]owSpan="3" VerticalAlignment="Stretch" HorizontalAlignment="Center"/> <Button Grid.Column="2" Grid.Row[[R]]ow="0" Grid.RowSpan[[R]]owSpan="3" Content="{Binding Name}"/>
</Grid>
</DockPanel>

案内メニュー