C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[17]: WPFのXAMLでImageを渡したい


(過去ログ 60 を表示中)

[トピック内 18 記事 (1 - 18 表示)]  << 0 >>

■34534 / inTopicNo.1)  WPFのXAMLでImageを渡したい
  
□投稿者/ 倉田 有大 (504回)-(2009/03/31(Tue) 23:04:37)

分類:[.NET 全般] 

2009/04/01(Wed) 01:15:22 編集(投稿者)

ややこしいので、消し消し。
4番目の書き込みを参照お願いします_(__)_
引用返信 編集キー/
■34535 / inTopicNo.2)  Re[1]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (505回)-(2009/03/31(Tue) 23:05:00)
2009/04/01(Wed) 00:02:40 編集(投稿者)

まちがえ、消し消し
引用返信 編集キー/
■34538 / inTopicNo.3)  Re[2]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (506回)-(2009/03/31(Tue) 23:36:29)
2009/04/01(Wed) 00:02:59 編集(投稿者)

まちがえ、消し消し。
引用返信 編集キー/
■34540 / inTopicNo.4)  Re[3]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (507回)-(2009/04/01(Wed) 00:26:20)
2009/04/01(Wed) 01:16:51 編集(投稿者)
こんにちは、倉田 有大です。現在XAMLを勉強しています。

リストビューにイメージとテキストを表示したいのです。

実行は出来た物の残念ながらイメージが表示されません。
アドバイスよろしくお願いします_(__)_

namespace WPFTest
{
    public class Item1
    {
        public Image image { get; set; }
        public string name { get; set; }
    }

   
    /// <summary>
    /// Window1.xaml の相互作用ロジック
    /// </summary>
    public partial class Window1 : Window
    {
        
        public Window1()
        {
            InitializeComponent();
            var p = new Item1();
            Item1 item1 = new Item1();
            BitmapImage bmp = new BitmapImage();
            bmp.BeginInit();
            bmp.UriSource = new Uri("c:\\1024.jpg");
            bmp.EndInit();
            item1.image = new Image();
            item1.image.Source = bmp;
            item1.name = "abc";

            this.listView1.Items.Add(item1);
        }
    }
}

<Window x:Class="WPFTest.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:WPFTest="clr-namespace:WPFTest"
    Title="Window1" Height="300" Width="300">
    <Window.Resources>
        <DataTemplate x:Key="myItemTemplate1" DataType="WPFTest:Item1">
            <StackPanel>
                <Border Width="100" Height="50" BorderBrush="Gray" BorderThickness="2" CornerRadius="5" Margin="3">
                <Image Source = "{Binding image}"></Image>
                </Border>
                <TextBlock Text ="{Binding name}"></TextBlock>
            </StackPanel>
        </DataTemplate>
    </Window.Resources>    

    <Grid>
        <ListView Margin="54,28,30,28" Name="listView1">
        <ListView.View>
            
            <GridView>
            
                <GridViewColumn Header="ヘッダ1"  
                                CellTemplate="{StaticResource myItemTemplate1}"
                            />
            </GridView>
        </ListView.View>
        </ListView>
    </Grid>
</Window>


引用返信 編集キー/
■34542 / inTopicNo.5)  Re[4]: WPFのXAMLでImageを渡したい
□投稿者/ 囚人 (332回)-(2009/04/01(Wed) 01:44:18)
ふーむ。間違っているところが多いので、どこから指摘したらよいものか。

とりあえず一番の問題は、ListView の Items に Add していく方法が間違ってるかな(しかも、ListView に無関係なオブジェクトを)。
代わりに、ListView の DataContext に列挙可能オブジェクトをバインドする方法を!

それにコード例の事を実現したいだけだったら、BitmapImage も XAML で書いて、C#なしでいいんじゃない?
引用返信 編集キー/
■34543 / inTopicNo.6)  Re[5]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (508回)-(2009/04/01(Wed) 01:55:04)
囚人さん、お返事ありがとうございます_(__)_ものすごく行き詰まっていました。

> ふーむ。間違っているところが多いので、どこから指摘したらよいものか。
>
> とりあえず一番の問題は、ListView の Items に Add していく方法が間違ってるかな(しかも、ListView に無関係なオブジェクトを)。

うう、すいません。後から、げ、追加しているのListViewのアイテムと関係ないやん!と気づきました。
継承させたら文字すらも表示されませんでした。ぜんぜん基礎が足りてませんー

> 代わりに、ListView の DataContext に列挙可能オブジェクトをバインドする方法を!

ヒントありがとうございます。ListViewとDataContextでぐぐってきますー

> それにコード例の事を実現したいだけだったら、BitmapImage も XAML で書いて、C#なしでいいんじゃない?

XAMLのリソースに読み込ませると言うことでしょうか?
最終目標の一つはエクスプローラーlikeのカスタムコントローラーですので、C#のコードと連携させたいんですよ〜
自作のフリーソフトをFilerStudioを一年かけて、WPFに移植させていく気の長い計画なんです。(たぶん一年ぐらいかかる^^;)


ふうーーーーーー、肩こりが限界なので、今日は休みます。_(__)_ついつい無茶しちゃう。
引用返信 編集キー/
■34562 / inTopicNo.7)  Re[6]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (509回)-(2009/04/01(Wed) 14:41:57)
Code ProjectのTreeViewのサンプルを見たのですが、
ListVewItemにSetValueつかうのかな?
引き続き調べてみます。
引用返信 編集キー/
■34564 / inTopicNo.8)  Re[7]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (510回)-(2009/04/01(Wed) 14:54:48)
No34562 (倉田 有大 さん) に返信
> Code ProjectのTreeViewのサンプルを見たのですが、
> ListVewItemにSetValueつかうのかな?
> 引き続き調べてみます。

ListViewItemはDependencyObjectを継承しているから、依存プロパティーを使えということなのかな。(ほんまか?

引用返信 編集キー/
■34567 / inTopicNo.9)  Re[8]: WPFのXAMLでImageを渡したい
□投稿者/ 囚人 (333回)-(2009/04/01(Wed) 16:18:08)
では、サンプルを書いてみます。
Vista だったらそのまま実行して画像も表示されるかも(サンプルピクチャを消してなかったら)。
画像がでかいままだけど、感じはつかめるでしょう。

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <Grid.Resources>
            <DataTemplate x:Key="image">
                <Image Source="{Binding Path=ImageUri}"/>
            </DataTemplate>
        </Grid.Resources>
        
        <ListView Name="ImageListView" ItemsSource="{Binding}">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="name" DisplayMemberBinding="{Binding Name}"/>
                    <GridViewColumn Header="image" CellTemplate="{StaticResource image}"/>
                </GridView>
            </ListView.View>
        </ListView>
    </Grid>
</Window>



namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public class Data
        {
            public string Name{get; set;}
            public string ImageUri{get; set;}
        }

        public Window1()
        {

            InitializeComponent();

            List<Data> l = new List<Data>{
                new Data{ Name = "アンテロープ", ImageUri = @"C:\Users\Public\Pictures\Sample Pictures\Oryx Antelope.jpg" },
                new Data{ Name = "オオハシ", ImageUri = @"C:\Users\Public\Pictures\Sample Pictures\Toco Toucan.jpg" }
            };

            ImageListView.DataContext = l;
        }
    }
}

引用返信 編集キー/
■34580 / inTopicNo.10)  Re[9]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (511回)-(2009/04/01(Wed) 22:29:53)
囚人さんサンプルコードありがとうございます。_(__)_実行して動作を確認させていただきました。

ところで、イメージのパスではなくイメージそのものを渡すにはどうすればよいのでしょうか?下記のように、Dataクラスを変更しましたが、表示されませんでした。
うわー、しょうもない間違いしているんだろうなー^^;

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        
        public class Data
        {
            public string Name { get; set; }
            public Image image { get; set; }
        }

        public Window1()
        {
            InitializeComponent();

            List<Data> l = new List<Data>();
            BitmapImage bmp1 = new BitmapImage();
            bmp1.BeginInit();
            bmp1.UriSource = new Uri("c:\\1024.jpg");
            bmp1.EndInit();
            Image image = new Image();
            image.Source = bmp1;
            Data data = new Data();
            data.Name = "abc";
            data.image = image;
            l.Add(data);

            ImageListView.DataContext = l;
        }
    }
}

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <Grid.Resources>
            <DataTemplate x:Key="image">
                <Image Source="{Binding image}"/>
            </DataTemplate>
        </Grid.Resources>

        <ListView Name="ImageListView" ItemsSource="{Binding}">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="name" DisplayMemberBinding="{Binding Name}"/>
                    <GridViewColumn Header="image" CellTemplate="{Binding image}"/>
                </GridView>
            </ListView.View>
        </ListView>
    </Grid>
</Window>





引用返信 編集キー/
■34583 / inTopicNo.11)  Re[10]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (512回)-(2009/04/02(Thu) 00:30:16)
添付プロパティーをつかって、作成してみました。
文字は出るのですが、イメージがでませんorz エーン

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WPFTest2
{
    /// <summary>
    /// Window1.xaml の相互作用ロジック
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            ListViewItem l = new ListViewItem();
            BitmapImage bmp = new BitmapImage();
            bmp.BeginInit();
            bmp.UriSource = new Uri("c:\\1024.jpg");
            bmp.EndInit();
            Image image = new Image();

            ListViewItemProps.SetItemImage(l, image);
            ListViewItemProps.SetItemName(l, "test");
            
            this.listView1.Items.Add(l);
        }
    }

    public static class ListViewItemProps
    {
     
        public static readonly DependencyProperty ItemImageProperty;
        public static readonly DependencyProperty ItemNameProperty;

        public static Image GetItemImage(DependencyObject obj)
        {
            return (Image)obj.GetValue(ItemImageProperty);
        }

        public static void SetItemImage(DependencyObject obj, Image value)
        {
            obj.SetValue(ItemImageProperty, value);
        }

        public static string GetItemName(DependencyObject obj)
        {
            return (string)obj.GetValue(ItemImageProperty);
        }

        public static void SetItemName(DependencyObject obj, string value)
        {
            obj.SetValue(ItemNameProperty, value);
        }

        static ListViewItemProps()
        {
            ItemNameProperty = DependencyProperty.Register("ItemName", typeof(string), typeof(ListViewItemProps));
            ItemImageProperty = DependencyProperty.Register("ItemImage", typeof(Image), typeof(ListViewItemProps));
        }
    }
}

<Window x:Class="WPFTest2.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WPFTest2"
    Title="Window1" Height="300" Width="300">

    <Grid>
        <ListView Margin="54,28,30,28" Name="listView1">
            <ListView.Resources>
                <DataTemplate x:Key="myItemTemplate1" DataType="ContentPresenter">
                    <StackPanel>
                        <Border Width="100" Height="50" BorderBrush="Gray" BorderThickness="2" CornerRadius="5" Margin="3">
                        <Image Source="{Binding  RelativeSource={RelativeSource                                                                            
                                                                            AncestorType={x:Type ListViewItem}}, Path = (local:ListViewItemProps.ItemImage)}"></Image>
                            </Border>
                        <TextBlock Text = "{Binding RelativeSource={RelativeSource                                                                            
                                                                            AncestorType={x:Type ListViewItem}}, Path = (local:ListViewItemProps.ItemName)}"></TextBlock>
                    </StackPanel>
                </DataTemplate>
            </ListView.Resources>
            <ListView.View>

                <GridView>

                    <GridViewColumn Header="ヘッダ1"  
                                CellTemplate="{StaticResource  myItemTemplate1}"
                            />
                </GridView>
            </ListView.View>
        </ListView>
    </Grid>
</Window>



引用返信 編集キー/
■34584 / inTopicNo.12)  Re[11]: WPFのXAMLでImageを渡したい
□投稿者/ nori (64回)-(2009/04/02(Thu) 01:07:59)
とりあえず、気になる点を書いておきます。

http://msdn.microsoft.com/ja-jp/library/system.windows.controls.image.source(VS.80).aspx
Image.Sourceはイメージの ImageSource を取得または設定します

http://msdn.microsoft.com/ja-jp/library/system.windows.media.imagesource(VS.80).aspx
ImageSourceはBitmapSource や DrawingImage があるようです

><Grid.Resources>
>  <DataTemplate x:Key="image">
>      <Image Source="{Binding image}"/>
>  </DataTemplate>
></Grid.Resources>
と言う事は↑(...Source="{Binding image}")は変ですよね。
ImageプロパティはImageオブジェクトを返すわけですから

http://msdn.microsoft.com/ja-jp/library/system.windows.controls.gridviewcolumn.celltemplate(VS.80).aspx
列のセルの内容を表示するために使用するテンプレート(DataTemplate)を取得または設定します。 

>            <GridViewColumn Header="image" CellTemplate="{Binding image}"/>
と言う事は↑(...CellTemplate="{Binding image}")は変ですよね。
ImageプロパティはImageオブジェクトを返すわけですから

囚人さんの例では
><GridViewColumn Header="image" CellTemplate="{StaticResource image}"/>
Binding imageではなくStaticResource imageになっています
この場合は、リソースにあるimageというキー名(x:Key)を指します
で x:Keyがimageのものは★のDataTemplateを正しく指定しています。

><Grid.Resources>
>    <DataTemplate x:Key="image">  ★ここ
>        <Image Source="{Binding Path=ImageUri}"/>
>    </DataTemplate>
></Grid.Resources>

引用返信 編集キー/
■34586 / inTopicNo.13)  Re[12]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (513回)-(2009/04/02(Thu) 01:51:46)
2009/04/02(Thu) 01:53:59 編集(投稿者)
うおおおおおおおおおおおおおお、noriさああああああああああああああああんんん!!!!
その通りでした、ありがとうございます!!!!!!!!!!_(__)_

BitmapImageをつかえば動いてくれました。
.NETとイメージ周りの使い方が全然違いますねT^T

>囚人さんの例では
>><GridViewColumn Header="image" CellTemplate="{StaticResource image}"/>
>Binding imageではなくStaticResource imageになっています

><Image Source="{Binding Path=ImageUri}"/>

XAMLの場合だけ直接Uriを記入できるんですよね。Imageクラスから直接Uriでオブジェクトを作れないのがちょっと不思議に思います。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WPFTest2
{
    /// <summary>
    /// Window1.xaml の相互作用ロジック
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            ListViewItem l = new ListViewItem();
            BitmapImage bmp = new BitmapImage();
            bmp.BeginInit();
            bmp.UriSource = new Uri("c:\\1024.jpg");
            bmp.EndInit();
            ListViewItemProps.SetItemBitmapImage(l, bmp);
            ListViewItemProps.SetItemName(l, "test");
            
            this.listView1.Items.Add(l);
        }
    }

    public static class ListViewItemProps
    {
        public static readonly DependencyProperty ItemBitmapImageProperty;
        public static readonly DependencyProperty ItemNameProperty;


        public static BitmapImage GetItemBitmapImage(DependencyObject obj)
        {
            return (BitmapImage)obj.GetValue(ItemBitmapImageProperty);
        }

        public static void SetItemBitmapImage(DependencyObject obj, BitmapImage value)
        {
            obj.SetValue(ItemBitmapImageProperty, value);
        }

        public static string GetItemName(DependencyObject obj)
        {
            return (string)obj.GetValue(ItemNameProperty);
        }

        public static void SetItemName(DependencyObject obj, string value)
        {
            obj.SetValue(ItemNameProperty, value);
        }

        static ListViewItemProps()
        {
            ItemNameProperty = DependencyProperty.Register("ItemName", typeof(string), typeof(ListViewItemProps));
            ItemBitmapImageProperty = DependencyProperty.Register("ItemBitmapImage", typeof(BitmapImage), typeof(ListViewItemProps));
        }
    }
}

<Window x:Class="WPFTest2.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WPFTest2"
    Title="Window1" Height="300" Width="300">

    <Grid>
        <ListView Margin="54,28,30,28" Name="listView1">
            <ListView.Resources>
                <DataTemplate x:Key="myItemTemplate1" DataType="ContentPresenter">
                    <StackPanel Orientation="Horizontal">
                        <Border Width="100" Height="50" BorderBrush="Gray" BorderThickness="2" CornerRadius="5" Margin="3">
                        <Image Source="{Binding  RelativeSource={RelativeSource                                                                            
                                                                            AncestorType={x:Type ListViewItem}}, Path = (local:ListViewItemProps.ItemBitmapImage)}"></Image>
                            </Border>
                        <TextBlock Text = "{Binding RelativeSource={RelativeSource                                                                            
                                                                            AncestorType={x:Type ListViewItem}}, Path = (local:ListViewItemProps.ItemName)}"></TextBlock>
                    </StackPanel>
                </DataTemplate>
            </ListView.Resources>
            <ListView.View>

                <GridView>

                    <GridViewColumn Header="ヘッダ1"  
                                CellTemplate="{StaticResource  myItemTemplate1}"
                            />
                </GridView>
            </ListView.View>
        </ListView>
    </Grid>
</Window>

引用返信 編集キー/
■34588 / inTopicNo.14)  Re[13]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (514回)-(2009/04/02(Thu) 02:18:59)
2009/04/02(Thu) 02:38:54 編集(投稿者)
囚人さんにおしえれもらったソースの方が、改造したらなかなか動いてくれないんですよね。
テキストは表示されてもイメージが表示されません。
たぶん、XAMLの書き方が悪いんだろうなー

namespace WpfApplication2
{
    public partial class Window1 : Window
    {

        public class Data
        {
            public string Name { get; set; }
            public BitmapImage bitmap { get; set; }
        }

        public Window1()
        {
            InitializeComponent();

            List<Data> l = new List<Data>();
            BitmapImage bmp1 = new BitmapImage();
            bmp1.BeginInit();
            bmp1.UriSource = new Uri("c:\\1024.jpg");
            bmp1.EndInit();
            
            Data data = new Data();
            data.Name = "abc";
            data.bitmap = bmp1;
            l.Add(data);

            ImageListView.DataContext = l;
        }
    }
}

<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="300" Width="300">
    <Grid>
        <Grid.Resources>
            <DataTemplate x:Key="image">
                <Image Source="{Binding bitmap}" />
            </DataTemplate>
        </Grid.Resources>

        <ListView Name="ImageListView" ItemsSource="{Binding}">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="name" DisplayMemberBinding="{Binding Name}"/>
                    <GridViewColumn Header="image" CellTemplate="{Binding image}"/>
                </GridView>
            </ListView.View>
        </ListView>
    </Grid>

</Window>

引用返信 編集キー/
■34595 / inTopicNo.15)  Re[14]: WPFのXAMLでImageを渡したい
□投稿者/ nori (65回)-(2009/04/02(Thu) 09:26:24)
><Image Source="{Binding Path=ImageUri}"/>
>XAMLの場合だけ直接Uriを記入できるんですよね。Imageクラスから直接Uriでオブジェクトを作れないのがちょっと不思議に思います。
Image.Sourceプロパティに文字列(Uri)を入れている訳ではありません。
文字列(Uri)からImageSourceクラスへ変換するConverterが実装されており
変換した値をImage.Sourceプロパティにセットするので問題ないです。

じゃ、どこ(誰)がConverterを実装しているのかと言うとImageSourceクラスです。
http://msdn.microsoft.com/ja-jp/library/system.windows.media.imagesource(VS.80).aspx

ImageSourceクラスの宣言を見てください。
TypeConverterAttributeでImageSourceConverterが定義されてますよね?
こいつが文字列(Uri)からImageSourceへ変換してくれています。

まめると
XAMLでImag.Sourceに文字列(Uri)を定義する
   ↓
定義されている値が、文字列(Uri)なので、ImageSourceConverterでImageSourceクラスへ変換する
   ↓
変換した値をImage.Sourceプロパティへセットする

という流れですね。
引用返信 編集キー/
■34596 / inTopicNo.16)  Re[15]: WPFのXAMLでImageを渡したい
□投稿者/ nori (66回)-(2009/04/02(Thu) 09:30:52)
>囚人さんにおしえれもらったソースの方が、改造したらなかなか動いてくれないんですよね。

>  <ListView Name="ImageListView" ItemsSource="{Binding}">
>                   :
>              <GridViewColumn Header="image" CellTemplate="{Binding image}"/>
>                   :
> </ListView>
<GridViewColumn Header="image" CellTemplate="{StaticResource image}"/>
                                              ^^^^^^^^^^^^^^ ← ここ

多分上を修正したら出力されると思います。
理由は、自分が一番最初にレスした中盤あたりを参照。

引用返信 編集キー/
■34610 / inTopicNo.17)  Re[16]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (515回)-(2009/04/02(Thu) 20:43:30)
> <GridViewColumn Header="image" CellTemplate="{StaticResource image}"/>
> ^^^^^^^^^^^^^^ ← ここ
>
> 多分上を修正したら出力されると思います。
> 理由は、自分が一番最初にレスした中盤あたりを参照。

うわ、これは恥ずかしい間違いでした^^;
動作確認しました!

>TypeConverterAttributeでImageSourceConverterが定義されてますよね?

属性で見つけました!
[TypeConverterAttribute]
って、つかったことがありません。これも調べないと。
引用返信 編集キー/
■34616 / inTopicNo.18)  Re[17]: WPFのXAMLでImageを渡したい
□投稿者/ 倉田 有大 (517回)-(2009/04/02(Thu) 23:24:11)
解決済みチェックを押しておきます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -