mirror of
https://gitcode.com/gh_mirrors/se/Semi.Avalonia
synced 2026-04-28 12:13:24 +08:00
feat: add CopyText;
This commit is contained in:
@@ -21,7 +21,6 @@
|
|||||||
<HeaderedContentControl.HeaderTemplate>
|
<HeaderedContentControl.HeaderTemplate>
|
||||||
<DataTemplate DataType="x:String">
|
<DataTemplate DataType="x:String">
|
||||||
<SelectableTextBlock
|
<SelectableTextBlock
|
||||||
Margin="0,16,0,0"
|
|
||||||
Classes="H3"
|
Classes="H3"
|
||||||
Text="{Binding}"
|
Text="{Binding}"
|
||||||
Theme="{DynamicResource TitleSelectableTextBlock}" />
|
Theme="{DynamicResource TitleSelectableTextBlock}" />
|
||||||
@@ -31,21 +30,36 @@
|
|||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<DataGrid IsReadOnly="True" ItemsSource="{Binding}">
|
<DataGrid IsReadOnly="True" ItemsSource="{Binding}">
|
||||||
<DataGrid.Columns>
|
<DataGrid.Columns>
|
||||||
<DataGridTemplateColumn Width="*" Header="ResourceKey">
|
<DataGridTemplateColumn Width="300" Header="ResourceKey">
|
||||||
<DataGridTemplateColumn.CellTemplate>
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
<DataTemplate DataType="vm:VariableItemViewModel">
|
<DataTemplate DataType="vm:VariableItemViewModel">
|
||||||
<Panel>
|
<SelectableTextBlock
|
||||||
<SelectableTextBlock
|
Margin="12,0"
|
||||||
Margin="12,0"
|
VerticalAlignment="Center"
|
||||||
VerticalAlignment="Center"
|
Text="{Binding ResourceKey}" />
|
||||||
Text="{Binding ResourceKey}" />
|
</DataTemplate>
|
||||||
<Button
|
</DataGridTemplateColumn.CellTemplate>
|
||||||
HorizontalAlignment="Right"
|
</DataGridTemplateColumn>
|
||||||
Command="{Binding $parent[pages:VariablesDemo].Copy}"
|
<DataGridTemplateColumn Width="200" Header="Value">
|
||||||
CommandParameter="{Binding ResourceKey}"
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
Theme="{DynamicResource IconBorderlessButton}"
|
<DataTemplate DataType="vm:VariableItemViewModel">
|
||||||
Content="{StaticResource SemiIconCopy}" />
|
<SelectableTextBlock
|
||||||
</Panel>
|
Margin="12,0"
|
||||||
|
HorizontalAlignment="Left"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Text="{Binding Value}"
|
||||||
|
TextWrapping="Wrap" />
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellTemplate>
|
||||||
|
</DataGridTemplateColumn>
|
||||||
|
<DataGridTemplateColumn Width="100" Header="CopyText">
|
||||||
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
|
<DataTemplate DataType="vm:VariableItemViewModel">
|
||||||
|
<Button
|
||||||
|
Command="{Binding $parent[pages:VariablesDemo].Copy}"
|
||||||
|
CommandParameter="{Binding CopyText}"
|
||||||
|
Theme="{DynamicResource IconBorderlessButton}"
|
||||||
|
Content="{StaticResource SemiIconCopy}" />
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</DataGridTemplateColumn.CellTemplate>
|
</DataGridTemplateColumn.CellTemplate>
|
||||||
</DataGridTemplateColumn>
|
</DataGridTemplateColumn>
|
||||||
@@ -56,26 +70,6 @@
|
|||||||
IsVisible="False"
|
IsVisible="False"
|
||||||
CanUserSort="False"
|
CanUserSort="False"
|
||||||
Header="Description" />
|
Header="Description" />
|
||||||
<DataGridTemplateColumn Width="300" Header="Value">
|
|
||||||
<DataGridTemplateColumn.CellTemplate>
|
|
||||||
<DataTemplate DataType="vm:VariableItemViewModel">
|
|
||||||
<Panel>
|
|
||||||
<SelectableTextBlock
|
|
||||||
Margin="12,0"
|
|
||||||
HorizontalAlignment="Left"
|
|
||||||
VerticalAlignment="Center"
|
|
||||||
Text="{Binding Value}"
|
|
||||||
TextWrapping="Wrap" />
|
|
||||||
<Button
|
|
||||||
HorizontalAlignment="Right"
|
|
||||||
Command="{Binding $parent[pages:VariablesDemo].Copy}"
|
|
||||||
CommandParameter="{Binding Value}"
|
|
||||||
Theme="{DynamicResource IconBorderlessButton}"
|
|
||||||
Content="{StaticResource SemiIconCopy}" />
|
|
||||||
</Panel>
|
|
||||||
</DataTemplate>
|
|
||||||
</DataGridTemplateColumn.CellTemplate>
|
|
||||||
</DataGridTemplateColumn>
|
|
||||||
</DataGrid.Columns>
|
</DataGrid.Columns>
|
||||||
</DataGrid>
|
</DataGrid>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|||||||
@@ -76,6 +76,11 @@ public partial class VariableItemViewModel : ObservableObject
|
|||||||
[ObservableProperty] private string? _description;
|
[ObservableProperty] private string? _description;
|
||||||
[ObservableProperty] private string? _value;
|
[ObservableProperty] private string? _value;
|
||||||
|
|
||||||
|
public string CopyText =>
|
||||||
|
$"""
|
||||||
|
<StaticResource x:Key="" ResourceKey="{ResourceKey}" />
|
||||||
|
""";
|
||||||
|
|
||||||
public VariableItemViewModel(string description, object value, string resourceKey)
|
public VariableItemViewModel(string description, object value, string resourceKey)
|
||||||
{
|
{
|
||||||
ResourceKey = resourceKey;
|
ResourceKey = resourceKey;
|
||||||
|
|||||||
Reference in New Issue
Block a user