Move current implementation to HistoryTable view
ADD
WalletWasabi.Fluent/Styles/DataBox.axaml
+<Styles xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+
+ <Style Selector="DataBox">
+ <Setter Property="GridLinesVisibility" Value="Horizontal"/>
+ <Setter Property="IsReadOnly" Value="True"/>
+ <Setter Property="CanUserResizeColumns" Value="True"/>
+ </Style>
+
+ <Style Selector="DataBoxRow">
+ <Setter Property="Focusable" Value="False" />
+ <Setter Property="Template">
+ <ControlTemplate>
+ <DockPanel LastChildFill="True">
+ <Border Name="PART_SelectionIndicator"
+ BorderThickness="2 0 0 0"
+ DockPanel.Dock="Left"
+ VerticalAlignment="Stretch" />
+ <DataGridFrozenGrid Name="PART_Root"
+ RowDefinitions="*,Auto,Auto"
+ ColumnDefinitions="Auto,*">
+
+ <Rectangle Name="BackgroundRectangle"
+ Grid.RowSpan="2"
+ Grid.ColumnSpan="2" />
+ <!--<Rectangle x:Name="InvalidVisualElement"
+ Grid.ColumnSpan="2"
+ Fill="{DynamicResource DataGridRowInvalidBrush}" />-->
+
+ <!--<DataBoxRowHeader Name="PART_RowHeader"
+ Grid.RowSpan="3"
+ DataGridFrozenGrid.IsFrozen="True" />-->
+ <DataBoxCellsPresenter Name="PART_CellsPresenter"
+ Grid.Column="1"
+ DataGridFrozenGrid.IsFrozen="True" />
+ <!--<DataBoxDetailsPresenter Name="PART_DetailsPresenter"
+ Grid.Row="1"
+ Grid.Column="1"
+ Background="{DynamicResource DataGridDetailsPresenterBackgroundBrush}" />-->
+ <Rectangle Name="PART_BottomGridLine"
+ Grid.Row="2"
+ Grid.Column="1"
+ HorizontalAlignment="Stretch"
+ Height="1" />
+
+ </DataGridFrozenGrid>
+ </DockPanel>
+ </ControlTemplate>
+ </Setter>
+ </Style>
+
+ <Style Selector="DataBoxRow:pointerover /template/ Rectangle#BackgroundRectangle">
+ <Setter Property="Fill" Value="{DynamicResource DataGridRowSelectedBackgroundColor}" />
+ </Style>
+ <Style Selector="DataBoxRow:selected /template/ Border#PART_SelectionIndicator">
+ <Setter Property="BorderBrush" Value="{DynamicResource DataGridRowIndicatorBrush}" />
+ </Style>
+ <Style Selector="DataBoxRow /template/ Border#PART_SelectionIndicator">
+ <Setter Property="BorderBrush" Value="Transparent" />
+ </Style>
+
+ <Style Selector="DataBoxCell">
+ <Setter Property="Padding" Value="0"/>
+ </Style>
+
+ <Style Selector="DataBoxColumnHeader">
+ <Setter Property="FontSize" Value="{StaticResource FontSizeH7}" />
+ <Setter Property="FontWeight" Value="Bold" />
+ <Setter Property="Padding" Value="12 10 10 10" />
+ </Style>
+</Styles>

MODIFY
WalletWasabi.Fluent/Styles/Styles.axaml
WalletWasabi.Fluent/Styles/Styles.axaml
<StyleInclude Source="avares://WalletWasabi.Fluent/Controls/AnimatedButton.axaml" />
<StyleInclude Source="avares://WalletWasabi.Fluent/Controls/CurrencyEntryBox.axaml" />
<StyleInclude Source="avares://WalletWasabi.Fluent/Styles/DataGrid.axaml" />
+ <StyleInclude Source="avares://WalletWasabi.Fluent/Styles/DataBox.axaml" />
<StyleInclude Source="avares://WalletWasabi.Fluent/Styles/RadioButton.axaml" />
<StyleInclude Source="avares://WalletWasabi.Fluent/Styles/SettingsLayout.axaml" />
<StyleInclude Source="avares://WalletWasabi.Fluent/Styles/Slider.axaml" />

MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/Home/History/HistoryViewModel.cs
WalletWasabi.Fluent/ViewModels/Wallets/Home/History/HistoryViewModel.cs
@@ -43,9 +43,10 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets.Home.History
this.WhenAnyValue(x => x.UnfilteredTransactions.Count)
.Subscribe(x => IsTransactionHistoryEmpty = x <= 0);
- var sortDescription = DataGridSortDescription.FromPath(nameof(TransactionHistoryItemViewModel.OrderIndex), ListSortDirection.Descending);
- CollectionView = new DataGridCollectionView(Transactions);
- CollectionView.SortDescriptions.Add(sortDescription);
+ // TODO:
+ // var sortDescription = DataGridSortDescription.FromPath(nameof(TransactionHistoryItemViewModel.OrderIndex), ListSortDirection.Descending);
+ // CollectionView = new DataGridCollectionView(Transactions);
+ // CollectionView.SortDescriptions.Add(sortDescription);
_transactionSourceList
.Connect()
@@ -56,7 +57,8 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets.Home.History
.Subscribe();
}
- public DataGridCollectionView CollectionView { get; }
+ // TODO:
+ // public DataGridCollectionView CollectionView { get; }
public ObservableCollection<HistoryItemViewModelBase> UnfilteredTransactions => _unfilteredTransactions;
@@ -69,9 +71,12 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets.Home.History
if (txnItem is { })
{
SelectedItem = txnItem;
+ if (SelectedItem is { })
+ {
SelectedItem.IsFlashing = true;
}
}
+ }
protected override void OnActivated(CompositeDisposable disposables)
{

MODIFY
WalletWasabi.Fluent/Views/Wallets/Home/History/HistoryTable.axaml
WalletWasabi.Fluent/Views/Wallets/Home/History/HistoryTable.axaml
x:DataType="history:HistoryViewModel"
x:CompileBindings="True"
x:Class="WalletWasabi.Fluent.Views.Wallets.Home.History.HistoryTable">
- <DataGrid Items="{Binding CollectionView}"
+ <DataBox Items="{Binding Transactions}"
SelectedItem="{Binding SelectedItem}"
CanUserResizeColumns="False"
DockPanel.Dock="Bottom">
- <DataGrid.Styles>
+ <DataBox.Styles>
<Style Selector="PathIcon">
<Setter Property="Height" Value="13" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Spacing" Value="10" />
<Setter Property="Margin" Value="10 0" />
</Style>
- <Style Selector="DataGridRow">
+ <Style Selector="DataBoxRow">
<Setter Property="Focusable" Value="False" />
<Setter Property="Height" Value="37.5" />
<Setter Property="Template">
<Rectangle Name="BackgroundRectangle"
Grid.RowSpan="2"
Grid.ColumnSpan="2" x:CompileBindings="False" Classes.selectAnimation="{Binding IsFlashing}" />
- <Rectangle x:Name="InvalidVisualElement"
+ <!--<Rectangle x:Name="InvalidVisualElement"
Grid.ColumnSpan="2"
- Fill="{DynamicResource DataGridRowInvalidBrush}" />
+ Fill="{DynamicResource DataGridRowInvalidBrush}" />-->
- <DataGridRowHeader Name="PART_RowHeader"
+ <!--<DataGridRowHeader Name="PART_RowHeader"
Grid.RowSpan="3"
- DataGridFrozenGrid.IsFrozen="True" />
- <DataGridCellsPresenter Name="PART_CellsPresenter"
+ DataGridFrozenGrid.IsFrozen="True" />-->
+ <DataBoxCellsPresenter Name="PART_CellsPresenter"
Grid.Column="1"
DataGridFrozenGrid.IsFrozen="True" />
- <DataGridDetailsPresenter Name="PART_DetailsPresenter"
+ <!--<DataGridDetailsPresenter Name="PART_DetailsPresenter"
Grid.Row="1"
Grid.Column="1"
- Background="{DynamicResource DataGridDetailsPresenterBackgroundBrush}" />
+ Background="{DynamicResource DataGridDetailsPresenterBackgroundBrush}" />-->
<Rectangle Name="PART_BottomGridLine"
Grid.Row="2"
Grid.Column="1"
</ControlTemplate>
</Setter>
</Style>
- <Style Selector="DataGridRow /template/ Rectangle#BackgroundRectangle.selectAnimation">
+ <Style Selector="DataBoxRow /template/ Rectangle#BackgroundRectangle.selectAnimation">
<Setter Property="Fill" Value="{DynamicResource SystemAccentColor}"/>
<Setter Property="Opacity" Value="0" />
<Style.Animations>
<Style Selector="PathIcon.hidden">
<Setter Property="IsVisible" Value="False"/>
</Style>
- </DataGrid.Styles>
+ </DataBox.Styles>
- <DataGrid.Columns>
+ <DataBox.Columns>
<!-- Date -->
- <DataGridTemplateColumn Header="Date / Time"
- Width="Auto"
- SortMemberPath="OrderIndex">
- <DataGridTemplateColumn.CellTemplate>
+ <DataBoxTemplateColumn Header="Date / Time"
+ Width="Auto">
+ <DataBoxTemplateColumn.CellTemplate>
<DataTemplate>
<c:PrivacyContentControl x:DataType="historyItems:HistoryItemViewModelBase"
Content="{Binding DateString}"
Margin="10 0"
NumberOfPrivacyChars="15" />
</DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
+ </DataBoxTemplateColumn.CellTemplate>
+ </DataBoxTemplateColumn>
<!-- Type -->
- <DataGridTemplateColumn Header="Type"
- Width="Auto"
- SortMemberPath="IsCoinJoin">
- <DataGridTemplateColumn.CellTemplate>
+ <DataBoxTemplateColumn Header="Type"
+ MinWidth="90"
+ Width="Auto">
+ <DataBoxTemplateColumn.CellTemplate>
<DataTemplate>
<c:PrivacyContentControl PrivacyReplacementMode="Icon">
<c:PrivacyContentControl.Styles>
</Panel>
</c:PrivacyContentControl>
</DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
+ </DataBoxTemplateColumn.CellTemplate>
+ </DataBoxTemplateColumn>
<!-- Labels -->
- <DataGridTemplateColumn Header="Labels"
+ <DataBoxTemplateColumn Header="Labels"
+ MinWidth="75"
Width="Auto"
- CanUserSort="False"
- SortMemberPath="Label">
- <DataGridTemplateColumn.CellTemplate>
+ CanUserSort="False">
+ <DataBoxTemplateColumn.CellTemplate>
<DataTemplate>
<c:PrivacyContentControl PrivacyReplacementMode="Text" NumberOfPrivacyChars="15" Classes="monoSpacedPrivacyReplacement">
- <DockPanel LastChildFill="False" x:DataType="historyItems:HistoryItemViewModelBase">
+ <StackPanel Orientation="Horizontal" x:DataType="historyItems:HistoryItemViewModelBase">
<c:TagsBox Padding="0"
Margin="0"
MinWidth="0"
BorderThickness="0"
- DockPanel.Dock="Left"
IsReadOnly="True"
Items="{Binding Label}"
HorizontalAlignment="Stretch"
VerticalAlignment="Center" />
<Button Classes="labelFlyout"
- DockPanel.Dock="Left"
IsVisible="{Binding !!FilteredLabel.Count}"
Content="..."
Margin="0 4 0 0">
</Panel>
</ToolTip.Tip>
</Button>
- </DockPanel>
+ </StackPanel>
</c:PrivacyContentControl>
</DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
+ </DataBoxTemplateColumn.CellTemplate>
+ </DataBoxTemplateColumn>
<!-- Incoming -->
- <DataGridTemplateColumn Header="Incoming (BTC)"
+ <DataBoxTemplateColumn Header="Incoming (BTC)"
Width="*"
MinWidth="160"
- MaxWidth="210"
- SortMemberPath="IncomingAmount">
- <DataGridTemplateColumn.CellTemplate>
+ MaxWidth="210">
+ <DataBoxTemplateColumn.CellTemplate>
<DataTemplate>
<Panel Name="Panel" HorizontalAlignment="Stretch">
<StackPanel x:DataType="historyItems:HistoryItemViewModelBase"
</StackPanel>
</Panel>
</DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
+ </DataBoxTemplateColumn.CellTemplate>
+ </DataBoxTemplateColumn>
<!-- Outgoing -->
- <DataGridTemplateColumn Header="Outgoing (BTC)"
+ <DataBoxTemplateColumn Header="Outgoing (BTC)"
Width="*"
MinWidth="160"
- MaxWidth="210"
- SortMemberPath="OutgoingAmount">
- <DataGridTemplateColumn.CellTemplate>
+ MaxWidth="210">
+ <DataBoxTemplateColumn.CellTemplate>
<DataTemplate>
<Panel Name="Panel" HorizontalAlignment="Stretch">
<StackPanel x:DataType="historyItems:HistoryItemViewModelBase"
</StackPanel>
</Panel>
</DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
+ </DataBoxTemplateColumn.CellTemplate>
+ </DataBoxTemplateColumn>
<!-- Balance -->
- <DataGridTemplateColumn Header="Balance (BTC)"
- Width="Auto"
- SortMemberPath="Balance">
- <DataGridTemplateColumn.CellTemplate>
+ <DataBoxTemplateColumn Header="Balance (BTC)"
+ MinWidth="160"
+ Width="Auto">
+ <DataBoxTemplateColumn.CellTemplate>
<DataTemplate>
<c:PrivacyContentControl x:DataType="historyItems:HistoryItemViewModelBase"
Content="{Binding Balance, Converter={x:Static converters:MoneyConverters.ToFormattedString}}"
HorizontalAlignment="Right"
Margin="10 0" />
</DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
+ </DataBoxTemplateColumn.CellTemplate>
+ </DataBoxTemplateColumn>
<!-- Status -->
- <DataGridTemplateColumn Header="Status"
+ <DataBoxTemplateColumn Header="Status"
Width="*"
MinWidth="120"
- MaxWidth="120"
- SortMemberPath="IsConfirmed">
- <DataGridTemplateColumn.CellTemplate>
+ MaxWidth="120">
+ <DataBoxTemplateColumn.CellTemplate>
<DataTemplate>
<Panel x:DataType="historyItems:HistoryItemViewModelBase">
<!-- Confirmed -->
</StackPanel>
</Panel>
</DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
+ </DataBoxTemplateColumn.CellTemplate>
+ </DataBoxTemplateColumn>
<!-- Details -->
- <DataGridTemplateColumn Width="Auto"
+ <DataBoxTemplateColumn Width="Auto"
CanUserSort="False">
- <DataGridTemplateColumn.CellTemplate>
+ <DataBoxTemplateColumn.CellTemplate>
<DataTemplate>
<Button x:DataType="historyItems:HistoryItemViewModelBase" Classes="plain" ToolTip.Tip="Show Details"
Command="{Binding ShowDetailsCommand}">
<PathIcon Data="{StaticResource details_regular}" Height="15" Opacity="0.6" />
</Button>
</DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
+ </DataBoxTemplateColumn.CellTemplate>
+ </DataBoxTemplateColumn>
- </DataGrid.Columns>
- </DataGrid>
+ </DataBox.Columns>
+ </DataBox>
</UserControl>

DELETE
WalletWasabi.Fluent/Views/Wallets/Home/History/HistoryTable2.axaml
-<UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:i="clr-namespace:Avalonia.Xaml.Interactivity;assembly=Avalonia.Xaml.Interactivity"
- xmlns:ir="clr-namespace:Avalonia.Xaml.Interactions.Responsive;assembly=Avalonia.Xaml.Interactions"
- xmlns:c="using:WalletWasabi.Fluent.Controls"
- xmlns:history="clr-namespace:WalletWasabi.Fluent.ViewModels.Wallets.Home.History"
- xmlns:converters="clr-namespace:WalletWasabi.Fluent.Converters"
- xmlns:historyItems="clr-namespace:WalletWasabi.Fluent.ViewModels.Wallets.Home.History.HistoryItems"
- mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
- x:DataType="history:HistoryViewModel"
- x:CompileBindings="True"
- x:Class="WalletWasabi.Fluent.Views.Wallets.Home.History.HistoryTable2">
-
- <UserControl.Styles>
- <Style Selector="PathIcon">
- <Setter Property="Height" Value="13" />
- <Setter Property="VerticalAlignment" Value="Center" />
- <Setter Property="HorizontalAlignment" Value="Center" />
- </Style>
- <Style Selector="TextBlock, c|PrivacyContentControl">
- <Setter Property="VerticalAlignment" Value="Center" />
- </Style>
- <Style Selector="StackPanel">
- <Setter Property="Orientation" Value="Horizontal" />
- <Setter Property="Spacing" Value="10" />
- <Setter Property="Margin" Value="10 0" />
- </Style>
- <Style Selector="DataGridRow">
- <Setter Property="Focusable" Value="False" />
- <Setter Property="Height" Value="37.5" />
- <Setter Property="Template">
- <ControlTemplate>
- <DockPanel LastChildFill="True">
- <Border Name="PART_SelectionIndicator"
- BorderThickness="2 0 0 0"
- DockPanel.Dock="Left"
- VerticalAlignment="Stretch" />
- <DataGridFrozenGrid Name="PART_Root"
- RowDefinitions="*,Auto,Auto"
- ColumnDefinitions="Auto,*">
-
- <Rectangle Name="BackgroundRectangle"
- Grid.RowSpan="2"
- Grid.ColumnSpan="2" x:CompileBindings="False" Classes.selectAnimation="{Binding IsFlashing}" />
- <Rectangle x:Name="InvalidVisualElement"
- Grid.ColumnSpan="2"
- Fill="{DynamicResource DataGridRowInvalidBrush}" />
-
- <DataGridRowHeader Name="PART_RowHeader"
- Grid.RowSpan="3"
- DataGridFrozenGrid.IsFrozen="True" />
- <DataGridCellsPresenter Name="PART_CellsPresenter"
- Grid.Column="1"
- DataGridFrozenGrid.IsFrozen="True" />
- <DataGridDetailsPresenter Name="PART_DetailsPresenter"
- Grid.Row="1"
- Grid.Column="1"
- Background="{DynamicResource DataGridDetailsPresenterBackgroundBrush}" />
- <Rectangle Name="PART_BottomGridLine"
- Grid.Row="2"
- Grid.Column="1"
- HorizontalAlignment="Stretch"
- Height="1" />
-
- </DataGridFrozenGrid>
- </DockPanel>
- </ControlTemplate>
- </Setter>
- </Style>
- <Style Selector="DataGridRow /template/ Rectangle#BackgroundRectangle.selectAnimation">
- <Setter Property="Fill" Value="{DynamicResource SystemAccentColor}"/>
- <Setter Property="Opacity" Value="0" />
- <Style.Animations>
- <Animation Duration="1.5">
- <KeyFrame KeyTime="0:0:0.0">
- <Setter Property="Opacity" Value="0" />
- </KeyFrame>
- <KeyFrame KeyTime="0:0:0.25">
- <Setter Property="Opacity" Value="0.5" />
- </KeyFrame>
- <KeyFrame KeyTime="0:0:0.50">
- <Setter Property="Opacity" Value="0" />
- </KeyFrame>
- <KeyFrame KeyTime="0:0:0.75">
- <Setter Property="Opacity" Value="0.5" />
- </KeyFrame>
- <KeyFrame KeyTime="0:0:1">
- <Setter Property="Opacity" Value="0" />
- </KeyFrame>
- <KeyFrame KeyTime="0:0:1.25">
- <Setter Property="Opacity" Value="0.5" />
- </KeyFrame>
- <KeyFrame KeyTime="0:0:1.5">
- <Setter Property="Opacity" Value="0" />
- </KeyFrame>
- </Animation>
- </Style.Animations>
- </Style>
- <Style Selector="TextBlock.hidden">
- <Setter Property="IsVisible" Value="False"/>
- </Style>
- <Style Selector="TextBlock.visible">
- <Setter Property="IsVisible" Value="True"/>
- </Style>
- <Style Selector="PathIcon.hidden">
- <Setter Property="IsVisible" Value="False"/>
- </Style>
-
- <!-- TODO: Use DataGrid.axaml styles -->
- <Style Selector="DataBoxColumnHeader">
- <Setter Property="FontSize" Value="{StaticResource FontSizeH7}" />
- <Setter Property="FontWeight" Value="Bold" />
- <Setter Property="Padding" Value="12 10 10 10" />
- </Style>
-
- <Style Selector="DataBox /template/ DataBoxRowsPresenter#PART_RowsPresenter DataBoxRow">
- <Setter Property="Height" Value="37.5" />
- </Style>
-
- </UserControl.Styles>
-
- <DataBox Items="{Binding Transactions}"
- SelectedItem="{Binding SelectedItem}"
- Classes="data"
- DockPanel.Dock="Bottom">
-
- <DataBox.Columns>
-
- <!-- Date -->
- <DataBoxTemplateColumn Header="Date / Time"
- Width="Auto">
- <DataBoxTemplateColumn.CellTemplate>
- <DataTemplate>
- <c:PrivacyContentControl x:DataType="historyItems:HistoryItemViewModelBase"
- Content="{Binding Date, StringFormat='{}{0:MM/dd/yyyy HH:mm}'}"
- Classes="monoSpaced"
- FontSize="15"
- Margin="10 0"
- NumberOfPrivacyChars="15" />
- </DataTemplate>
- </DataBoxTemplateColumn.CellTemplate>
- </DataBoxTemplateColumn>
-
- <!-- Type -->
- <DataBoxTemplateColumn Header="Type"
- MinWidth="90"
- Width="Auto">
- <DataBoxTemplateColumn.CellTemplate>
- <DataTemplate>
- <c:PrivacyContentControl PrivacyReplacementMode="Icon">
- <c:PrivacyContentControl.Styles>
- <Style Selector="c|PrivacyContentControl /template/ Viewbox#PART_Icon">
- <Setter Property="Height" Value="18" />
- <Setter Property="Margin" Value="0" />
- </Style>
- </c:PrivacyContentControl.Styles>
- <Panel x:DataType="historyItems:HistoryItemViewModelBase">
- <PathIcon ToolTip.Tip="Transaction" Data="{StaticResource normal_transaction}" Opacity="0.6"
- IsVisible="{Binding !IsCoinJoin}" />
- <PathIcon ToolTip.Tip="CoinJoin" Data="{StaticResource shield_regular}" Height="15" Opacity="0.6"
- IsVisible="{Binding IsCoinJoin}" />
- </Panel>
- </c:PrivacyContentControl>
- </DataTemplate>
- </DataBoxTemplateColumn.CellTemplate>
- </DataBoxTemplateColumn>
-
- <!-- Labels -->
- <DataBoxTemplateColumn Header="Labels"
- MinWidth="75"
- Width="Auto">
- <DataBoxTemplateColumn.CellTemplate>
- <DataTemplate>
- <c:PrivacyContentControl PrivacyReplacementMode="Text" NumberOfPrivacyChars="15" Classes="monoSpacedPrivacyReplacement">
- <StackPanel Orientation="Horizontal" x:DataType="historyItems:HistoryItemViewModelBase">
- <c:TagsBox Padding="0"
- Margin="0"
- MinWidth="0"
- BorderThickness="0"
- IsReadOnly="True"
- Items="{Binding Label}"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Center" />
- <Button Classes="labelFlyout"
- IsVisible="{Binding !!FilteredLabel.Count}"
- Content="..."
- Margin="0 4 0 0">
- <Button.Flyout>
- <Flyout Placement="BottomEdgeAlignedLeft" ShowMode="TransientWithDismissOnPointerMoveAway">
- <c:TagsBox IsReadOnly="True"
- Items="{Binding FilteredLabel}" />
- </Flyout>
- </Button.Flyout>
- <ToolTip.Tip>
- <Panel>
- <c:TagsBox IsReadOnly="True"
- Margin="4,6,0,0"
- Items="{Binding FilteredLabel}" />
- </Panel>
- </ToolTip.Tip>
- </Button>
- </StackPanel>
- </c:PrivacyContentControl>
- </DataTemplate>
- </DataBoxTemplateColumn.CellTemplate>
- </DataBoxTemplateColumn>
-
- <!-- Incoming -->
- <DataBoxTemplateColumn Header="Incoming (BTC)"
- Width="*"
- MinWidth="160"
- MaxWidth="210">
- <DataBoxTemplateColumn.CellTemplate>
- <DataTemplate>
- <Panel Name="Panel" HorizontalAlignment="Stretch">
- <StackPanel x:DataType="historyItems:HistoryItemViewModelBase"
- IsVisible="{Binding !!IncomingAmount}"
- HorizontalAlignment="Right">
- <PathIcon Data="{StaticResource arrow_down_right_regular}" Opacity="0.6">
- <!--<i:Interaction.Behaviors>
- <ir:AdaptiveBehavior SourceControl="{Binding #Panel}" x:CompileBindings="False">
- <ir:AdaptiveClassSetter MinWidth="0" MaxWidth="120" ClassName="hidden"/>
- </ir:AdaptiveBehavior>
- </i:Interaction.Behaviors>-->
- </PathIcon>
- <c:PrivacyContentControl Content="{Binding IncomingAmount, Converter={x:Static converters:MoneyConverters.ToFormattedString}}"
- Classes="monoSpaced"
- FontSize="15"
- NumberOfPrivacyChars="9" />
- </StackPanel>
- </Panel>
- </DataTemplate>
- </DataBoxTemplateColumn.CellTemplate>
- </DataBoxTemplateColumn>
-
- <!-- Outgoing -->
- <DataBoxTemplateColumn Header="Outgoing (BTC)"
- Width="*"
- MinWidth="160"
- MaxWidth="210">
- <DataBoxTemplateColumn.CellTemplate>
- <DataTemplate>
- <Panel Name="Panel" HorizontalAlignment="Stretch">
- <StackPanel x:DataType="historyItems:HistoryItemViewModelBase"
- IsVisible="{Binding !!OutgoingAmount}"
- HorizontalAlignment="Right">
- <PathIcon Data="{StaticResource arrow_up_right_regular}" Opacity="0.6">
- <!--<i:Interaction.Behaviors>
- <ir:AdaptiveBehavior SourceControl="{Binding #Panel}" x:CompileBindings="False">
- <ir:AdaptiveClassSetter MinWidth="0" MaxWidth="120" ClassName="hidden"/>
- </ir:AdaptiveBehavior>
- </i:Interaction.Behaviors>-->
- </PathIcon>
- <c:PrivacyContentControl Content="{Binding OutgoingAmount, Converter={x:Static converters:MoneyConverters.ToFormattedString}}"
- Classes="monoSpaced"
- FontSize="15"
- NumberOfPrivacyChars="9" />
- </StackPanel>
- </Panel>
- </DataTemplate>
- </DataBoxTemplateColumn.CellTemplate>
- </DataBoxTemplateColumn>
-
- <!-- Balance -->
- <DataBoxTemplateColumn Header="Balance (BTC)"
- MinWidth="160"
- Width="Auto">
- <DataBoxTemplateColumn.CellTemplate>
- <DataTemplate>
- <c:PrivacyContentControl x:DataType="historyItems:HistoryItemViewModelBase"
- Content="{Binding Balance, Converter={x:Static converters:MoneyConverters.ToFormattedString}}"
- Classes="monoSpaced"
- FontSize="15"
- NumberOfPrivacyChars="9"
- HorizontalAlignment="Right"
- Margin="10 0" />
- </DataTemplate>
- </DataBoxTemplateColumn.CellTemplate>
- </DataBoxTemplateColumn>
-
- <!-- Status -->
- <DataBoxTemplateColumn Header="Status"
- Width="*"
- MinWidth="120"
- MaxWidth="120">
- <DataBoxTemplateColumn.CellTemplate>
- <DataTemplate>
- <Panel x:DataType="historyItems:HistoryItemViewModelBase">
- <!-- Confirmed -->
- <StackPanel IsVisible="{Binding IsConfirmed}">
- <PathIcon Data="{StaticResource checkmark_filled}"
- Foreground="{DynamicResource SystemAccentColor}"
- Height="11"
- ToolTip.Tip="Confirmed"/>
- <TextBlock Classes="monoSpaced" Text="Confirmed">
- <!--<i:Interaction.Behaviors>
- <ir:AdaptiveBehavior SourceControl="{Binding $parent[DataGrid]}" x:CompileBindings="False">
- <ir:AdaptiveClassSetter MinWidth="0" MaxWidth="940" ClassName="hidden"/>
- <ir:AdaptiveClassSetter MinWidth="940" MaxWidth="Infinity" ClassName="visible"/>
- </ir:AdaptiveBehavior>
- </i:Interaction.Behaviors>-->
- </TextBlock>
- </StackPanel>
- <!-- Pending -->
- <StackPanel IsVisible="{Binding !IsConfirmed}">
- <PathIcon Data="{StaticResource clock_regular}"
- Height="14"
- Opacity="0.6"
- ToolTip.Tip="Pending"/>
- <TextBlock Classes="monoSpaced" Text="Pending">
- <!--<i:Interaction.Behaviors>
- <ir:AdaptiveBehavior SourceControl="{Binding $parent[DataGrid]}" x:CompileBindings="False">
- <ir:AdaptiveClassSetter MinWidth="0" MaxWidth="940" ClassName="hidden"/>
- <ir:AdaptiveClassSetter MinWidth="940" MaxWidth="Infinity" ClassName="visible"/>
- </ir:AdaptiveBehavior>
- </i:Interaction.Behaviors>-->
- </TextBlock>
- </StackPanel>
- </Panel>
- </DataTemplate>
- </DataBoxTemplateColumn.CellTemplate>
- </DataBoxTemplateColumn>
-
- <!-- Details -->
- <DataBoxTemplateColumn Width="Auto">
- <DataBoxTemplateColumn.CellTemplate>
- <DataTemplate>
- <Button x:DataType="historyItems:HistoryItemViewModelBase" Classes="plain" ToolTip.Tip="Show Details"
- Command="{Binding ShowDetailsCommand}">
- <PathIcon Data="{StaticResource details_regular}" Height="15" Opacity="0.6" />
- </Button>
- </DataTemplate>
- </DataBoxTemplateColumn.CellTemplate>
- </DataBoxTemplateColumn>
-
- </DataBox.Columns>
- </DataBox>
-
-</UserControl>

DELETE
WalletWasabi.Fluent/Views/Wallets/Home/History/HistoryTable2.axaml.cs
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-
-namespace WalletWasabi.Fluent.Views.Wallets.Home.History
-{
- public class HistoryTable2 : UserControl
- {
- public HistoryTable2()
- {
- InitializeComponent();
- }
-
- private void InitializeComponent()
- {
- AvaloniaXamlLoader.Load(this);
- }
- }
-}

MODIFY
WalletWasabi.Fluent/Views/Wallets/WalletView.axaml
WalletWasabi.Fluent/Views/Wallets/WalletView.axaml
IsVisible="{Binding IsEmptyWallet}"/>
</Panel>
<Panel>
- <history:HistoryTable2 Name="HistoryTable"
+ <history:HistoryTable Name="HistoryTable"
DataContext="{Binding History}"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
IsVisible="{Binding !IsTransactionHistoryEmpty}"/>

Move current implementation to HistoryTable view