C# XAMLでのパンくずリスト
リンク内容
このサンプルの一番上にるやつをつくりたいのですが
ただ3つ4つ並べるだけならできるのですが、これを可変にしたいです。
入れたいテキストをリストで受け取るなどして、そのリストの数だけ表示させたいです。
できれば均等かつ指定された画面のサイズいっぱいに表示させたいです。
polygonで書いた図形をテキストボックスで挟んでいるのですが、
他に描画の方法ありますでしょうか?
追記
回答ありがとうざいます。
回答にあったコードですとなぜか画面に表示されませんでした。。。
stackPanelを使っているので横に並べるのはできるのですが、
<StackPanel Name="BreadCrumbItems" Orientation="Horizontal"/>の部分に
HorizontalAlignment="Stretch"を記述しても図形が伸びてくれません。
TextBlockにも記載しましたができません。
横に並べた際にでっぱりの部分を右に出てくる図形に少しかぶさるようにすることは可能でしょうか?
また、図形なんですがXAMLのデザイナー上で横に伸ばすと左の辺の線が太くなってしまいます。
これを太くならないような方法も知りたいです。
やはり、やりたいことは最初と一緒です。
画面横いっぱいかつ均等に配置するには、HorizontalAlignment="Stretch"以外で方法はありますか?
下記のコードを少し修正するだけで横いっぱいかつ均等に配置できれば、それに越したことはないのですが、、、、
他の方法として画面のwidthを取得して、それをリストの数で割って...とかも考えてはいるのですがそこまで頭が回らないです。
テキストボックスと図形 BreadCrumbControl.xaml <Grid> <TextBlock x:Name="txb" TextAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" FontSize="20"> <TextBlock.Background> <VisualBrush> <VisualBrush.Visual> <Polygon Points="0,60 0,0 60,00 80,30 60,60" Fill="LightBlue" Stroke="#000000"/> </VisualBrush.Visual> </VisualBrush> </TextBlock.Background> </TextBlock> </Grid> スタックパネルの生成 StackControl.xaml.cs List<string> str = new List<string> {"あいうえお","かきくけこ"}; foreach(string msg in str){ BreadCrumbControl breadControl = new BreadCrumbControl(); breadControl.txb.Text = msg; this.BreadCrumbItems.Children.Add(breadControl); } StackControl.xaml <Grid> <StackPanel Name="BreadCrumbItems" Orientation="Horizontal"/> </Grid>
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/09 14:06