Inserting a Slider
in a Grid
would expand it to fill the available space, but I would prefer not use a grid for the following reason:
I've a TextBlock
and a Slider
in a UserControl
, the slider is spring loaded and does jog / shuttle; the current value has to be displayed because the user can't rely on the neutral cursor's position, so the textblock. Implementing the **Orientation**
property of this custom slider requires both components to be rotated and also their relative position to be adjusted (left/right or top/bottom), which wouldn't be easy with a grid (unless I miss something obvious) while it is with a StackPanel
.
Response to Aviad's comment
Aviad, thanks, I apologize for the pain ;-) The question was in the title: How to expand a Slider to fill the available space when the slider is within a StackPanel ?
This user control:
<UserControl x:Class="XXX.Preview.SelectionView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="auto" Width="auto">
<GroupBox Header="Selected">
<StackPanel Orientation="Horizontal">
<TextBlock/>
<Slider/>
</StackPanel>
</GroupBox>
</UserControl>
won't expand when included in a grid even in a row with a "*" width. The slider will have no length at all.
A solution is to replace the stack panel by a grid in the code below, but I don't want to use a grid, because I need to use the Orientation property of the stack panel to show both controls stacked vertically when the enclosing user control is set in the Orientation "Vertical".