GUI�A�v���P�[�V�����J���̎���ł���u�R���g���[���v�𒆐S�ɁAWPF��UI�v�f�ɂ��Đ����B�R���g���[���̑S�̑��Ɗ�b��������A�p�r���Ƃɕ��ނ���B
powered by Insider.NET
�@���C�A�E�g�p�̃p�l���ɑ����A����́A�u���[�U�[�^�A�v���P�[�V�����Ԃ̑Θb��S���v�f�v�A������R���g���[���𒆐S�Ƃ��āAWPF��UI�v�f�ɂ��Đ������Ă����B
�@�R���g���[���́A���[�U�[�Ƃ̑Θb��S���v�f�ŁAGUI�A�v���P�[�V�����J���̒��S�I���݂Ƃ�����B�R���g���[���́A�}�E�X��L�[�{�[�h�Ȃǂ̃��[�U�[������������A�����̓r���o�߂⌋�ʂ�K�X�\�������肷�邽�߂ɗ��p����B
���R���g���[���̑S�̑�
�@�܂��A�R���g���[����A�֘A����UI�v�f�̃N���X�K�w�����Ă݂悤�B��v�Ȃ��̂�Figure 1�Ɏ����B
�@�O�����������Ƃ���AFrameworkElement�N���X�iSystem.Windows���O��ԁj��WPF�̂قƂ�ǂ�UI�v�f�̋��ʊ��ƂȂ��b�I�ȃN���X�ŁAPanel�N���X�iSystem.Windows.Controls���O��ԁj�͎q�v�f�Ƌ������ă��C�A�E�g�����肷�邽�߂̃p�l���̊��N���X�ł���B
�@����A���o�ƂȂ�Decorator�N���X�iSystem.Windows.Controls���O��ԁj�́A�q�v�f�₻�̎��ӂɉ��炩�̑������{�����߂̃N���X�ŁA�Ⴆ�AUI�v�f�̉���g���ň͂�����A�r�����b�g�i���������p�̒��_�j��t�����肷�邽�߂ɗp����B
�@�����āAControl�N���X�iSystem.Windows.Controls���O��ԁj���A����̎��ł���R���g���[���̊��N���X�ƂȂ�B
�@����ł͂܂��AControl�N���X���͂��߁A���܂��܂ȃR���g���[���̊��N���X�ƂȂ邢�����̎�v�ȃN���X�i��Figure 1�ŁA�F�̘g���ň͂��Ă�����́j�ɂ��Đ������Ă������B
��Control�N���X
�@Control�N���X�͂��ׂẴR���g���[���̊��ƂȂ�N���X�ŁATable 1�Ɏ����悤�ȃ����o�������Ă���B
�@�\ | �����o |
---|---|
�O�ϐݒ� | Background BorderBrush BorderThickness Foreground |
�t�H���g | FontFamily FontSize FontStretch FontStyle FontWeight |
���e���̃��C�A�E�g���� | HorizontalContentAlignment VerticalContentAlignment Padding |
�t�H�[�J�X�Ǘ� | IsTabStop TabIndex |
�R���g���[���E�e���v���[�g | Template |
�}�E�X�E�C�x���g | MouseDoubleClick PreviewMouseDoubleClick |
Table 1: Control�N���X�̋@�\ ���}�E�X�E�C�x���g�̊e�����o�̓��[�e�B���O�E�C�x���g�ł���B����ȊO�͂��ׂăv���p�e�B�B |
�@�ȉ��A���_���⑫���������Ă������B
���O�ϐݒ�
�@Background�v���p�e�B�AForeground�v���p�e�B�A����сABorderBrush�v���p�e�B�́A���ꂼ��w�i��O�i�A�g���̓h��Ԃ����s�����߂̃u���V�ƂȂ��Ă���B���F�ł̓h��Ԃ������łȂ��A�ȉ��̂悤�ȃu���V�𗘗p���邱�ƂŁA�O���f�[�V������摜���g�����h��Ԃ����\�ł���B
�@�Ⴆ�ADrawingBrush�ɑ���<VideoDrawing>�v�f��^������AVisualBrush�ɑ���<MediaElement>�v�f��^�����肷�邱�ƂŁA�R���g���[���̔w�i�ɓ����\�����邱�Ƃ��\�ł���B
�@SolidColorBrush�̏ꍇ�ɂ́ARGB�l��F������̕ϊ�����`����Ă��āAXAML�̑����\�����g���Ĉȉ��̂悤�ȐF�w�肪�\�ł���B
<!-- # 6�P�^��16�i���� RGB �w��B -->
<TextBox Background="#0000ff" />
<!-- �F������̕ϊ��������B
Colors �N���X�̐ÓI�����o�[�Ƃ��Ē�`����Ă���B -->
<TextBox Background="Blue" />
<!-- SystemColors �N���X�̐ÓI�����o�[���Q�Ƃ��邱�ƂŁA
�V�X�e���F�𗘗p�\�B -->
<TextBox Background="{x:Static SystemColors.ActiveCaptionBrush}" />
�@�ǂ̂悤�ȐF����V�X�e���F�����p�ł��邩�́AMSDN�́uColors�N���X�iSystem.Windows.Media���O��ԁj�v����сuSystemColors�N���X�iSystem.Windows���O��ԁj�v�̃y�[�W���Q�Ƃ��Ăق����B
�@�܂��ALinearGradientBrush�ARadialGradientBrush�A����сAImageBrush�́AVisual Studio��Expression Blend���g���ău���V�̐ݒ肪�\�ł���BMovie 1�ɁAVisual Studio���g�����u���V�ݒ�̗�������B
���t�H���g
�@�t�H���g�Ɋւ��ẮA�t�@�~���A�T�C�Y�A�X�^�C���i���W���^�����^�Ά^�ł��������t���^�����t���j�A���̑����A�L�k�ƁA��ʂ�ݒ�\�ɂȂ��Ă���B���̂����A�t�H���g�E�t�@�~���ɂ��ĕ⑫���Ă������B
�@FontFamily�v���p�e�B�ɒP�Ƀt�H���g�����w�肵���ꍇ�A�V�X�e���ɃC���X�g�[�����ꂽ�t�H���g�����p�����B���R�A�w�肳�ꂽ�t�H���g���C���X�g�[������Ă��Ȃ����ł́A���̃t�H���g���K�p����Ȃ��i����̃t�H���g���g�p�����j�B
<!-- �V�X�e���ɃC���X�g�[�����ꂽ�t�H���g���g���B -->
<!-- �t�H���g���C���X�g�[������Ă��Ȃ����ł͓K�p����Ȃ��B -->
<TextBlock Text="�e�X�g ����" FontFamily="HGPGyoshotai" />
�@�V�X�e���Ƀt�H���g���C���X�g�[������Ă��Ȃ��ꍇ��z�肵�āA�t�H���g�E�t�@�~���̓J���}���ŕ����w��\�ł���B
�@�܂��A�ǂ�Ȋ��ł��Ӑ}�����Ƃ���̃t�H���g�ŕ\���ł���悤�ɁA�A�v���P�[�V�����Ƀt�H���g�ߍ��ނ��Ƃ��ł���B
�@�菇�Ƃ��ẮA�܂��A�t�H���g���A�Z���u���E���\�[�X�i��Visual Studio�́m�v���p�e�B�n�E�B���h�E�Łm�r���h �A�N�V�����n���uResource�v�ɂ������́j�Ƃ��ăA�v���P�[�V�����ɖ��ߍ��ށB�����āAXAML�R�[�h���ł́A�uFontFamily="./#font name"�v�Ƃ����悤�ɁA�u#�v�ɑ����ăt�H���g�����L�q����B
�@Figure 2�ɁA�t�H���g�̖��ߍ��݂̗�������B
�@�������A�z�z�����R�ɔF�߂Ă���t�H���g�ł��A�A�v���P�[�V�����֖��ߍ���ł̔z�z�͔F�߂Ă��Ȃ��ꍇ������̂ŁA���C�Z���X�ɒ��ӂ��K�v�ł���B
��ContentControl�N���X
�@ContentControl�N���X�iSystem.Windows.Controls���O��ԁj�́A�{�^���Ȃǂ̂悤�ɁA�R���e���c��1�������R���g���[���̊��N���X�ł���B�A�v���P�[�V�����{�̂ƂȂ邱�Ƃ̑���Window�N���X��ContentControl�N���X����h�����Ă���B
�@�R���e���c��\��Content�v���p�e�B��object�^�ɂȂ��Ă��āA���ł��i�[���邱�Ƃ��ł���B�i�[�����^�ɂ���āA�ȉ��̂悤�ɁA�قȂ�\�����s����B
�@ContentControl�N���X�̔h���N���X�̒��ɕ�����UI�v�f����ׂ����ꍇ�A�܂�<Grid>�v�f�Ȃǂ̃p�l����u���āA���̒���UI�v�f����ׂ�B
�@�R���e���c�ւ̃e���v���[�g�K�p�́AContentTemplate�v���p�e�B�Ŗ����I�Ɏw�肷�邩�A��5���Ő��������悤��DataType�v���p�e�B���g���������K�p�ōs���B
��HeaderedContentControl�N���X
�@Figure 3�Ɏ����悤�ɁA<GroupBox>�v�f��<Expander>�v�f�ȂǁA�ꕔ�̃R���g���[���̓w�b�_���ƃR���e���c�������Ă���B���̂悤�ȃR���g���[���̊��ƂȂ�̂�HeaderedContentControl�N���X�iSystem.Windows.Controls���O��ԁj�ł���B
�@�w�b�_�����w�肷�邽�߂�Header�v���p�e�B��Content�v���p�e�B�Ɠ��l��object�^�ƂȂ��Ă��āA�f�[�^�E�e���v���[�g��ToString���\�b�h������\�����s����B�f�[�^�E�e���v���[�g���I�Ɏw�肵�����ꍇ�ɂ�HeaderTemplate�v���p�e�B���g���Ďw�肷��B
��ItemsControl�N���X
�@ItemsControl�N���X�iSystem.Windows.Controls���O��ԁj�́A<ListBox>�v�f�Ȃǂ̂悤�ɕ����̍��ڂ����R���g���[���̊��N���X�ł���BItemsControl�N���X�̓����\����Figure 4�Ɏ����悤�ɂȂ��Ă��āA�ȉ��̂悤�ɁA�J�X�^�}�C�Y�ł������3����B
�@List 1��ItemsControl�N���X�̃J�X�^�}�C�Y�̗���AFigure 5�ɂ��̕\�����ʂ������B
<Window x:Class="atmarkit08.ItemsControlSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ItemsControl�T���v��" Height="150" Width="150">
<Grid>
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<CanvasItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Canvas.Left" Value="{Binding X}" />
<Setter Property="Canvas.Top" Value="{Binding Y}" />
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding Text}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Window>
this.DataContext = new[]
{
new { Text = "a", X = 20, Y = 80 },
new { Text = "b", X = 80, Y = 80 },
new { Text = "c", X = 80, Y = 20 },
new { Text = "d", X = 20, Y = 20 },
};
Me.DataContext =
{
New With { .Text = "a", .X = 20, .Y = 80 },
New With { .Text = "b", .X = 80, .Y = 80 },
New With { .Text = "c", .X = 80, .Y = 20 },
New With { .Text = "d", .X = 20, .Y = 20 }
}
�@���̗�ł́AItemsPanel�v���p�e�B��<Canvas>�v�f���w�肷�邱�ƂŁA�Еz�}�̂悤�ȃ��C�A�E�g���s���Ă���BCanvas.Left�Y�t�v���p�e�B��<Canvas>�v�f�̒��ڂ̎q�v�f�Ɏw�肷��K�v�����邽�߁AItemTemplate�v���p�e�B�Ɏw�肷��f�[�^�E�e���v���[�g���ł͂Ȃ��AItemContainerStyle�v���p�e�B�Ɏw�肷��X�^�C�����Őݒ肵�Ȃ���Ȃ�Ȃ��B
���R���N�V�����E�r���[
�@ItemsSource�v���p�e�B�o�R��<ItemsControls>�v�f�ɓn���ꂽ�f�[�^�E�\�[�X�́AFigure 6�Ɏ����悤�ɁA���ۂɂ͊ԂɃR���N�V�����E�r���[�icollection view�j�Ƃ������̂����܂��������ŕ\�������B�R���N�V�����E�r���[�́A�f�[�^�E�\�[�X��ύX�����ɁA�r���[��ł����f�[�^�̐����O���[�v�����s�����߂̂��̂ł���B
�@�R���N�V�����E�r���[�Ƃ������t�́A���̂Ɂu�r���[�v�Ƃ������t�������Ă���̂���������킵�����A������u�r���[�ƃ��f���v�̃r���[�i�����ڂɊւ��镔���j�̂��Ƃł͂Ȃ��A�f�[�^�x�[�X�p��̃r���[�i���\���p�Ƀf�[�^�E�\�[�X�𐮌`�������́j�̈Ӗ������Ŏg���Ă���B
�@ItemsControl�N���X��ItemsSource�v���p�e�B�ɁA�R���N�V�����E�r���[��\��ICollectionView�C���^�[�t�F�C�X�iSystem.ComponentModel���O��ԁj�̃C���X�^���X��n���ƁA���ꂪ���̂܂ܕ\������邪�A�ق��̃R���N�V������^�����ꍇ�ɂ́A�����I�ɃR���N�V�����E�r���[���쐬����A���b�s���O�����B
�@ItemsControl�N���X�ɂ́AItemsSource�v���p�e�B�̂ق��ɁAItems�v���p�e�B�Ƃ������̂����邪�A������͂��̃R���N�V�����E�r���[�ɑ��Ē��ڗv�f�̒lj���ǂݏo�����s���ꍇ�ɗ��p����B
�@XAML�R�[�h���Ŗ����I�ɃR���N�V�����E�r���[����肽���ꍇ�A<CollectionViewSource>�v�f�iSystem.Windows.Data���O��ԁj�𗘗p����BList 2�ɃR���N�V�����E�r���[�̗��p����AMovie 2�ɂ��̎��s���ʂ������B
<Window x:Class="atmarkit08.CollectionViewSourceSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cm="clr-namespace:System.ComponentModel;assembly=WindowsBase"
xmlns:dat="clr-namespace:System.Windows.Data;assembly=PresentationFramework"
Title="CollectionView�T���v��" Height="500" Width="500">
<Window.Resources>
<CollectionViewSource x:Key="Sorted" Source="{Binding}">
<CollectionViewSource.SortDescriptions>
<cm:SortDescription PropertyName="Category" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
<CollectionViewSource x:Key="Grouped" Source="{Binding}">
<CollectionViewSource.GroupDescriptions>
<dat:PropertyGroupDescription PropertyName="Category" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Text="�����R���N�V�����E�r���[���Q��"
Grid.ColumnSpan="2" HorizontalAlignment="Center" />
<DataGrid
ItemsSource="{Binding}" Grid.Row="1" Grid.Column="0" />
<DataGrid
ItemsSource="{Binding}" Grid.Row="1" Grid.Column="1" />
<TextBlock Text="SortDescription �t��" Grid.Row="2" />
<DataGrid
ItemsSource="{Binding Source={StaticResource Sorted}}"
Grid.Row="3" Grid.Column="0" />
<TextBlock Text="GroupDescription �t��"
Grid.Row="2" Grid.Column="1" />
<DataGrid
ItemsSource="{Binding Source={StaticResource Grouped}}"
Grid.Row="3" Grid.Column="1">
<DataGrid.GroupStyle>
<GroupStyle />
</DataGrid.GroupStyle>
</DataGrid>
</Grid>
</Window>
this.DataContext = new[]
{
new { Name="Button", Category="�{�^��" },
new { Name="CheckBox", Category="�I��" },
new { Name="ComboBox", Category="�I��" },
new { Name="TextBlock", Category="�����\��" },
new { Name="RadioButton", Category="�I��" },
new { Name="RichTextBlock", Category="�����\��" },
new { Name="ScrollBar", Category="�\��" },
new { Name="ToolTip", Category="�\��" },
};
Me.DataContext =
{
New With { .Name="Button", .Category="�{�^��" },
New With { .Name="CheckBox", .Category="�I��" },
New With { .Name="ComboBox", .Category="�I��" },
New With { .Name="TextBlock", .Category="�����\��" },
New With { .Name="RadioButton", .Category="�I��" },
New With { .Name="RichTextBlock", .Category="�����\��" },
New With { .Name="ScrollBar", .Category="�\��" },
New With { .Name="ToolTip", .Category="�\��" }
}
�@���̗�ł́A2�s2���4��<DataGrid>�v�f��\�����Ă���B���2�͓����f�[�^�E�\�[�X���Q�Ƃ��Ă��āi�����I�ɐ��������R���N�V�����E�r���[���������̂����L�����j�A�Е��ł̐���̌��ʂ������ɂ����f�����B����2��<DataGrid>�v�f�ɂ́A���ꂼ�ꐮ��уO���[�v�����ꂽ�R���N�V�����E�r���[��^���Ă���B
��HeaderedItemsControl�N���X
�@Figure 7�Ɏ����悤�ɁA<MenuItem>�v�f��<TreeViewItem>�v�f�ȂǁA�w�b�_���ƕ����̍��ڂ������Ă�����̂�����A���̂悤�ȃR���g���[����HeaderedItemsControl�N���X�iSystem.Windows.Controls���O��ԁj�����N���X�Ƃ��Ă���B
�@���̃y�[�W�ł́AWPF�̃R���g���[����p�r���Ƃɕ��ނ���B
Copyright© Digital Advantage Corp. All Rights Reserved.