我必須在位圖下顯示幾個字符串。一次最多可以顯示5個字符串,並不總是顯示所有5個字符串。此外,字符串的長度也會有所不同。無論如何,我希望在位圖下以一種視覺上吸引人的方式顯示這些字符串。就像,如果只是一個字符串,我想把它放在位圖的中心。如果是2個字符串,我想將字符串間隔很好,並將其置於位圖之下,等等。 我只知道在運行時顯示的字符串,顯示的字符串數量(最小1和最大5)以及字符串的長度。WPF:將GRID內容與位圖對齊
我寫了下面的XAML代碼,但是我無法很好地爲所有我的條件定位字符串。 Bitmap1是一個圓形,bitmap2是左箭頭,而bitmap3是右箭頭。
有人可以幫我嗎?
<Grid x:Name="Graphics" Grid.Column="1" Background="Black">
<Grid.RowDefinitions>
<RowDefinition Height="0.319*"/>
<RowDefinition Height="0.56*"/>
<RowDefinition Height="0.321*"/>
</Grid.RowDefinitions>
<Image Height="72" Source="/DataBinding;component/Bitmap1.bmp" Stretch="Fill" Width="108" Grid.Row="1" />
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.408*"/>
<ColumnDefinition Width="0.15*"/>
<ColumnDefinition Width="0.408*"/>
</Grid.ColumnDefinitions>
<Image x:Name="Next" Height="48" Width="48" Grid.Column="2" Source="/DataBinding;component/Bitmap3.bmp" HorizontalAlignment="Left" />
<Image x:Name="Prev" Width="48" Height="48" Grid.Column="0" Source="/DataBinding;component/Bitmap2.bmp" HorizontalAlignment="Right"/>
<Grid HorizontalAlignment="Center" ShowGridLines="True" Width="Auto" Grid.ColumnSpan="3" Margin="38,69,41,-40">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Visibility="Visible" Text="String1" Padding="10" Grid.Column="0" FontSize="14.667" TextAlignment="Center" Foreground="White" />
<TextBlock Visibility="Visible" Text="String2" Padding="10" Grid.Column="1" FontSize="14.667" TextAlignment="Center" Foreground="White" />
<TextBlock Visibility="Visible" Text="String3" Padding="10" Grid.Column="2" FontSize="14.667" TextAlignment="Center" Foreground="White" />
<TextBlock Visibility="Visible" Text="String4" Padding="10" Grid.Column="3" FontSize="14.667" TextAlignment="Center" Foreground="White" />
<TextBlock Visibility="Visible" Text="String5" Padding="10" Grid.Column="4" FontSize="14.667" TextAlignment="Center" Foreground="White" />
</Grid>
</Grid>
</Grid>
嗯,我沒有嘗試創建一個自定義面板。我通過在Grid內使用StackPanel解決了我的問題。下面給出了修改的XAML。另外我在TextBlock裏面運行,這樣我就可以控制每個單詞的格式(這在我的情況下是需要的)。 – Mohanr 2011-06-22 13:30:53
StackPanel也是自定義面板的一種形式。我不認爲這似乎足以滿足你想要的東西,但它很棒。 – 2011-06-22 17:06:20