5

プログラムで追加する必要があるStackPanelの背後にあるC#コードで次のプロパティを設定しようとしています。

BorderThickness
BorderBrush

これらをプログラムで設定する方法について何かアイデアはありますか?

4

3 に答える 3

25

これが1年後であることは知っていますが、誰かがまだそれを必要としている場合に備えて、答えを見つけました.

ここに完全な例があります

// Create a StackPanel and Add children
StackPanel myStackPanel = new StackPanel();
Border myBorder1 = new Border();
myBorder1.Background = Brushes.SkyBlue;
myBorder1.BorderBrush = Brushes.Black;
myBorder1.BorderThickness = new Thickness(1);
TextBlock txt1 = new TextBlock();
txt1.Foreground = Brushes.Black;
txt1.FontSize = 12;
txt1.Text = "Stacked Item #1";
myBorder1.Child = txt1;

Border myBorder2 = new Border();
myBorder2.Background = Brushes.CadetBlue;
myBorder2.Width = 400;
myBorder2.BorderBrush = Brushes.Black;
myBorder2.BorderThickness = new Thickness(1);
TextBlock txt2 = new TextBlock();
txt2.Foreground = Brushes.Black;
txt2.FontSize = 14;
txt2.Text = "Stacked Item #2";
myBorder2.Child = txt2;

// Add the Borders to the StackPanel Children Collection
myStackPanel.Children.Add(myBorder1);
myStackPanel.Children.Add(myBorder2);
mainWindow.Content = myStackPanel;
于 2013-09-05T13:23:12.623 に答える
1

StackPanel には、BorderThickness または BorderBrush プロパティがありません。背景のみ。それらを設定したい場合は、StackPanel を Border コントロールでラップする必要があります。

<Border  x:Name="StackBorder">
<StackPanel>
</Border>

その後、次のように呼び出すことができます。

StackBorder.BorderThickness = new Thickness(1);
StackBorder.BorderBrush = new Windows.UI.Xaml.Media.SolidColorBrush(Windows.UI.Colors.Red);
于 2012-09-06T02:25:29.187 に答える
0

StackPanelオブジェクト自体に境界線のプロパティを設定することはできません。StackPanel オブジェクトを Border オブジェクト内に配置し、BorderBorderThicknessオブジェクトのおよびBorderBrushプロパティを次のように設定します。

myBorder.BorderBrush = Brushes.Black;
myBorder.BorderThickness = new Thickness(1);
于 2012-09-06T02:21:35.130 に答える