關於wpf中控件佈局的'簡單'。有一個自定義控件的網格在這個面板上有'面板'有三個元素兩個按鈕和它們之間的滑塊。右按鈕必須固定在「面板」的右側,左側按鈕固定在「面板」的左側,並且滑塊必須填滿所有自由空間按鈕。按鈕和網格的寬度(和高度)將在後面的代碼中設置爲dinamycaly。問題是 - 我必須使用什麼類型的「panel」,以及如何使它在給定的任務下運行? (堆棧,碼頭 - 即使有這種「橫向劃痕」也沒有這樣的功能) 在WinForms中,滑塊的寬度沒有問題= widthOfGrid - (widtOfBothButtons) 這是可能在wpf中完成的嗎?或者我必須在類似構造函數的函數中編寫上面的代碼? (offtop-對我來說這是WPF控件一個典型的任務,我奇怪爲什麼它有太少自動解決它)簡單的WPF'面板'問題
代碼:
<UserControl x:Class="WpfApplication1.UserControl2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="42" d:DesignWidth="291">
<Grid x:Name="gridCtrl">
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="clnmLbl" Width="Auto"/>
<ColumnDefinition x:Name="clnmPnl" />
</Grid.ColumnDefinitions>
<Label x:Name="lblText" Grid.Column="0" Content="" VerticalAlignment="Center">
</Label>
<DockPanel x:Name="pnlDock" Grid.Column="1">
<Button x:Name="btnLeft" HorizontalAlignment="Left" DockPanel.Dock="Left">
</Button>
<Border x:Name="BorderOfSlider" BorderBrush="#FF000000" BorderThickness="3,3,3,3" CornerRadius="8,8,8,8" >
<Slider x:Name="sldSlider" HorizontalAlignment="Stretch" VerticalAlignment="Center" >
</Slider>
</Border>
<Button x:Name="btnRight" HorizontalAlignment="Right" DockPanel.Dock="Right">
</Button>
</DockPanel>
</Grid>
</UserControl>
您是否嘗試過使用'LastChildFill =「True」''DockPanel'? – madd0
我不需要最後一個孩子填寫。我需要具有這個beheviour的滑塊 - 中心元素 –