Archive for 2010年3月22日

WPF DisplayMemberBinding

2010年3月22日

<Window x:Class="WpfApplication3.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    Title="Window1" Height="189" Width="459">
    <ListView>
        <ListView.View>
            <GridView>
                <GridViewColumn Width="120" Header="Date" />
                <GridViewColumn Width="120" Header="Day Of Week" DisplayMemberBinding="{Binding DayOfWeek}" />
                <GridViewColumn Width="120" Header="Year" DisplayMemberBinding="{Binding Year}" />
            </GridView>
        </ListView.View>
        <sys:DateTime>2001,1,1</sys:DateTime>
        <sys:DateTime>2010,1,1</sys:DateTime>
        <sys:DateTime>7/8/9</sys:DateTime>
        <sys:DateTime>10/11/12</sys:DateTime>
    </ListView>
</Window>

Date のところは、DisplayMemberBinding していないけど、表示されている・・・

image

広告

WPF ListBox で DockPanel を使った例

2010年3月22日

DockPanel を使った例

複数選択の例だけど、http://msdn.microsoft.com/ja-jp/library/ms742885(VS.80).aspx

image

<Window x:Class="WpfApplication2.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="226" Width="292" >
    <Grid>
        <ListBox SelectionMode="Multiple">
            <DockPanel>
                <Image Source="data\cat.jpg" Width="100" Height="80" />
                <TextBlock>CAT</TextBlock>
            </DockPanel>
            <DockPanel>
                <Image Source="data\dog.jpg" Width="100" Height="80"/>
                <TextBlock>DOG</TextBlock>
            </DockPanel>
            <DockPanel>
                <Image Source="data\fish.jpg" Width="100" Height="80"/>
                <TextBlock>FISH</TextBlock>
            </DockPanel>
        </ListBox>
    </Grid>
</Window>

WPF ListBox のバインディング

2010年3月22日

わかりにくいなぁ・・・

MSDN ListView
http://msdn.microsoft.com/ja-jp/library/ms743602(VS.80).aspx

<Window x:Class="WpfApplication2.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:src="clr-namespace:WpfApplication1"               <<<<<< ここで、src = ネームスペース

    Title="Window1" Height="300" Width="300" >
    <Canvas>
        <Canvas.Resources>
            <ObjectDataProvider x:Key="Colors" ObjectType="{x:Type src:myColors}"/>    <<<< ここでタイプを指定
        </Canvas.Resources>
        <ListBox Name="myListBox" HorizontalAlignment="Left" SelectionMode="Extended"
      Width="265" Height="117"
      ItemsSource="{Binding Source={StaticResource Colors}}" IsSynchronizedWithCurrentItem="true">  
        </ListBox>
    </Canvas>
</Window>

/////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;

namespace WpfApplication1
{
    public class myColors : ObservableCollection<string>
    {
        public myColors()
        {
            Add("LightBlue");
            Add("Pink");
            Add("Red");
            Add("Purple");
            Add("Blue");
            Add("Green");
        }
    }
}