Я пробовал это некоторое время. Я просто застрял и не могу пройти через это.Silverlight: выровнять элементы управления вправо внутри ячейки Datagrid
В ячейке datagrid имеется три элемента управления.
1: Гиперссылка Кнопка 2: Четкая кнопка 3: Кнопка поиска
Что мне нужно сделать, чтобы выровнять «ясно» и «Кнопка открытия» выравнивания справа от колонны. Уловка - это размер столбца. Я попытался дать фиксированную ширину кнопке гиперссылки, она выглядит хорошо, но становится беспорядочной, когда размер столбца изменяется.
Содержимое ячейки имеет стиль ниже.
<Style TargetType="controls:HyperlinkClear">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="controls:HyperlinkClear">
<Border BorderThickness="0" Margin="2" BorderBrush="Transparent">
<Border.Resources>
<Style x:Name="buttonStyle"
TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid Width="12"
Height="12">
<TextBlock Margin="{TemplateBinding Margin}" Text="x"></TextBlock>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Border.Resources>
<controlsToolkit:DockPanel Background="Transparent">
<Button Margin="-2,0,0,0" controlsToolkit:DockPanel.Dock="Right" HorizontalAlignment="Right" x:Name="MainSearchButton" Style="{StaticResource ButtonStyle}" IsTabStop="False"
Visibility ="{Binding IsRemoveButtonEnabled,Converter={StaticResource BoolToVisibilityConverter},Mode=TwoWay}">
<Image Source="./open.png" Height="14" Width="16" VerticalAlignment="Center"/>
</Button>
<Button controlsToolkit:DockPanel.Dock="Right" Cursor="hand"
Margin="3,-2,0,0" Visibility ="{Binding IsRemoveButtonEnabled,Converter={StaticResource BoolToVisibilityConverter},Mode=TwoWay}"
x:Name="RemoveItemButton" HorizontalAlignment="Right"
Style="{StaticResource buttonStyle}" IsTabStop="false"/>
<HyperlinkButton x:Name="HyperlinkButton" Style="{StaticResource HyperlinkButtonStyle}" Content="{TemplateBinding Content}" />
</controlsToolkit:DockPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
В настоящее время это выглядит так.
Своп вы DockPanel для сетки с первой колонке '*' размера, и два, которые, как предполагается, будет справа установлен в 'Auto' и вы сделали. –
Я попытался с помощью Grid и задал определения столбцов. Это то же поведение. Не видел различий. я что-то упускаю? – riteshmeher