VBプログラマの為のWPF入門VBプログラマの為のWPF入門
そろそろWPFをやっておこう。 XAMLを整形するには?
XAMLを直接各WPFプログラムですが、書いていると、インデントを整えたくなります。 サンプル目次
MSのサンプルページ検索で、なかなかヒットすることがない?のかと思うので、 本家と言うことでリンクをはっておきます。 ComboBox
今回作ってみたのは、 <Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="348" Width="456" WindowStartupLocation="CenterScreen" > <Grid Width="472"> 最初からグリッドになっている。よーするに、こいつが標準と言うわけらしい。 <Grid.Resources> <!--TargetTypeを指定すると、個々の記述は不要--> <Style TargetType="ComboBox"> <Setter Property="Margin" Value="40,10,0,0" /> </Style> <!--名前月スタイルでコントロールのマージンを一括設定。しかし個々のコントロールに記述する必要あり。TargetTypeより優先される--> <Style x:Key="thisPG_Margin"> <Setter Property="Control.Margin" Value="20,10,0,0" /> </Style> </Grid.Resources> <Border BorderBrush="#FFC05C1A" BorderThickness="1" Height="Auto" HorizontalAlignment="Left" Margin="23,38,0,0" Name="Border1" VerticalAlignment="Top" Width="Auto" Background="#699D303A" CornerRadius="10"> <Grid Height="249" Width="401"> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="*" /> <RowDefinition Height="*" /> <RowDefinition Height="*" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Label Grid.Row="0" Content="Borderコントロール" Height="28" HorizontalAlignment="Left" Name="Label1" VerticalAlignment="Top" Style="{StaticResource thisPG_Margin}" /> <Button Grid.Row="1" Content="都道府県取得" Height="39" HorizontalAlignment="Left" Name="Button1" VerticalAlignment="Top" Width="121" Style="{StaticResource thisPG_Margin}" /> <CheckBox Content="CheckBox" Grid.Row="2" Height="16" HorizontalAlignment="Left" Name="CheckBox1" VerticalAlignment="Top" Style="{StaticResource thisPG_Margin}" /> <Label Content="経過時間" Grid.Column="1" Grid.Row="2" Height="28" Name="Label2" /> <ComboBox Grid.Row="3" Height="24" HorizontalAlignment="Left" Name="ComboBox1" VerticalAlignment="Top" Width="120" Style="{StaticResource thisPG_Margin}" > <ComboBoxItem Content="北海道" IsSelected="True" /> <ComboBoxItem Content="青森" /> <ComboBoxItem Content="秋田" /> <ComboBoxItem Content="岩手" /> </ComboBox> <Image Grid.Row="4" Height="24" HorizontalAlignment="Left" Name="Image1" Stretch="Fill" VerticalAlignment="Top" Width="168" Style="{StaticResource thisPG_Margin}" Margin="20,10,0,0" /> <ComboBox Grid.Row="3" Grid.Column="1" Height="24" HorizontalAlignment="Left" Name="ComboBox2" VerticalAlignment="Top" Width="120" Style="{StaticResource thisPG_Margin}" /> <ComboBox Grid.Column="1" Grid.Row="4" Height="24" HorizontalAlignment="Left" Name="ComboBox3" VerticalAlignment="Top" Width="120" /> <Button Content="都道府県検索2" Grid.Column="1" Grid.Row="1" Name="Button2" Width="155" Margin="23,10,23,9" /> </Grid> </Border> </Grid> </Window>
で、これではいかにも芸が無いので、 VBで以前、ComboBoxに画像を追加した時のように、画像を入れてみたのが、次のサンプル。 方法は、XAMLで、 <ComboBox Grid.Row="3" Height="24" HorizontalAlignment="Left" Name="ComboBox1" VerticalAlignment="Top" Width="120" Style="{StaticResource thisPG_Margin}" > <ComboBoxItem IsSelected="True"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Label Grid.Column="0" Content="北海道" /> <Image Grid.Column="1" Name="Image2" Stretch="Fill" VerticalAlignment="Top" Source="/WpfApplicationTips;component/Images/o0640048011914843315.jpg" /> </Grid> </ComboBoxItem> <ComboBoxItem Content="青森" /> <ComboBoxItem Content="秋田" /> <ComboBoxItem Content="岩手" /> </ComboBox>
赤い箇所を書き換えただけ。 |