0
私はこれをしばらく試しています。私はちょうど立ち往生し、それを通過することはできません。Silverlight:Datagridセル内のボタンコントロールを右揃え
DataGridセルには3つのコントロールがあります。
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をスワップし、右側にあると思われる2つを「自動」に設定すると完了です。 –
私はGridを試して、列の定義を設定しました。その同じ行動。違いは見られませんでした。私は何かが欠けていますか? – riteshmeher