mirror of
https://github.com/fadden/6502bench.git
synced 2024-09-07 08:55:00 +00:00
The ListView style was using "Stretch" for TextBoxes in the code list, which caused the background of the entire address / label / operand field to be drawn in the highlight color, rather than just the area covered by the text. This is fine for address and label, but it just felt weird for the operand field because that tends to be very wide (to accommodate strings, bulk hex data, etc). There doesn't seem to be a way to specify HorizontalContentAlignment per-column in WPF. (Note this is different from HorizontalAlignment, which *is* is a per-column property.) This changes the style to use HorizontalContentAlignment=Left, so the highlight just covers the text. The only time this causes a functional change is when you highlight an operand for a line that doesn't have a label, because instead of highlighting an empty rectangle you now see nothing at all. (The address field is still highlighted though.)
428 lines
24 KiB
XML
428 lines
24 KiB
XML
<!--
|
|
Copyright 2019 faddenSoft
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<!--
|
|
ListView/ListViewItem control template and style. This is used for the main code ListView.
|
|
The most significant consideration is getting long comments and notes into the 5th column and
|
|
having them span multiple columns. Most of this came from the default style (WPF 4.5 on
|
|
Win10, default theme).
|
|
|
|
This interacts with DisplayList.FormattedParts.
|
|
|
|
See also https://github.com/fadden/DisasmUiTest
|
|
-->
|
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
|
|
|
<!-- some brushes, extracted from the default style -->
|
|
<LinearGradientBrush x:Key="ListItemHoverFill" EndPoint="0,1" StartPoint="0,0">
|
|
<GradientStop Color="{DynamicResource Color_HoverFill0}" Offset="0"/>
|
|
<GradientStop Color="{DynamicResource Color_HoverFill1}" Offset="1"/>
|
|
</LinearGradientBrush>
|
|
|
|
<LinearGradientBrush x:Key="ListItemSelectedFill" EndPoint="0,1" StartPoint="0,0">
|
|
<GradientStop Color="{DynamicResource Color_SelectedFill0}" Offset="0"/>
|
|
<GradientStop Color="{DynamicResource Color_SelectedFill1}" Offset="1"/>
|
|
</LinearGradientBrush>
|
|
|
|
<LinearGradientBrush x:Key="ListItemSelectedInactiveFill" EndPoint="0,1" StartPoint="0,0">
|
|
<GradientStop Color="{DynamicResource Color_SelectedInactiveFill0}" Offset="0"/>
|
|
<GradientStop Color="{DynamicResource Color_SelectedInactiveFill1}" Offset="1"/>
|
|
</LinearGradientBrush>
|
|
|
|
<LinearGradientBrush x:Key="ListItemSelectedHoverFill" EndPoint="0,1" StartPoint="0,0">
|
|
<GradientStop Color="{DynamicResource Color_SelectedHoverFill0}" Offset="0"/>
|
|
<GradientStop Color="{DynamicResource Color_SelectedHoverFill1}" Offset="1"/>
|
|
</LinearGradientBrush>
|
|
|
|
<!-- Column set for the long-comment lines. The first five columns will be empty, but
|
|
have their widths set to match those in the containing ListView.
|
|
If you don't set DisplayMemberBinding, it will try to ToString() the entire object.
|
|
-->
|
|
<GridViewColumnCollection x:Key="gvcc">
|
|
<GridViewColumn DisplayMemberBinding="{Binding Offset}" Width="{Binding
|
|
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}
|
|
}, Path=View.Columns[0].ActualWidth}"/>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Addr}" Width="{Binding
|
|
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}
|
|
}, Path=View.Columns[1].ActualWidth}"/>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Bytes}" Width="{Binding
|
|
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}
|
|
}, Path=View.Columns[2].ActualWidth}"/>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Flags}" Width="{Binding
|
|
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}
|
|
}, Path=View.Columns[3].ActualWidth}"/>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Attr}" Width="{Binding
|
|
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}
|
|
}, Path=View.Columns[4].ActualWidth}"/>
|
|
<!-- This column holds the long comment. There's no easy way to set its width, so we
|
|
have to let the main window take care of that. (It's tempting to just make its width
|
|
very large, but that causes the GridView contents to horizontally scroll independently
|
|
of the GridView header when you reach the edge of the "normal" column set.) -->
|
|
<GridViewColumn Header="(long comment)" DisplayMemberBinding="{Binding Path=Comment}"
|
|
Width="{Binding LongCommentWidth}"/>
|
|
</GridViewColumnCollection>
|
|
|
|
<GridViewColumnCollection x:Key="gvcc_vs">
|
|
<GridViewColumn DisplayMemberBinding="{Binding Offset}" Width="{Binding
|
|
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}
|
|
}, Path=View.Columns[0].ActualWidth}"/>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Addr}" Width="{Binding
|
|
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}
|
|
}, Path=View.Columns[1].ActualWidth}"/>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Bytes}" Width="{Binding
|
|
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}
|
|
}, Path=View.Columns[2].ActualWidth}"/>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Flags}" Width="{Binding
|
|
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}
|
|
}, Path=View.Columns[3].ActualWidth}"/>
|
|
<GridViewColumn DisplayMemberBinding="{Binding Attr}" Width="{Binding
|
|
RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}
|
|
}, Path=View.Columns[4].ActualWidth}"/>
|
|
<!-- This column holds the visualization set. -->
|
|
<GridViewColumn Header="(visualization set)" Width="{Binding LongCommentWidth}">
|
|
<GridViewColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock Text="{Binding Path=Comment}" VerticalAlignment="Center" Margin="0,0,8,0"
|
|
Visibility="Collapsed"/>
|
|
<ItemsControl ItemsSource="{Binding VisualizationSet}">
|
|
<ItemsControl.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<StackPanel Orientation="Horizontal"/>
|
|
</ItemsPanelTemplate>
|
|
</ItemsControl.ItemsPanel>
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate>
|
|
<Border BorderThickness="1" Padding="1"
|
|
Background="{StaticResource BitmapBackground}">
|
|
<Grid>
|
|
<Image Width="64" Height="64" Source="{Binding CachedImage}"
|
|
RenderOptions.BitmapScalingMode="NearestNeighbor"/>
|
|
<Image Width="64" Height="64" Source="{Binding OverlayImage}"/>
|
|
</Grid>
|
|
</Border>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</GridViewColumn.CellTemplate>
|
|
</GridViewColumn>
|
|
</GridViewColumnCollection>
|
|
|
|
<!-- Base template for ListView items, derived from the system default. We have to define
|
|
this fully so things don't turn into a big mess on long-comment lines. -->
|
|
<ControlTemplate x:Key="baseListItemTemplate" TargetType="{x:Type ListViewItem}">
|
|
<StackPanel>
|
|
<Border BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Background="{TemplateBinding Background}"
|
|
CornerRadius="2"
|
|
SnapsToDevicePixels="true">
|
|
<Border x:Name="InnerBorder" BorderThickness="1" CornerRadius="1">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition MaxHeight="11"/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Rectangle x:Name="UpperHighlight" Fill="{DynamicResource Brush_SelectedUpperHighlight}" Visibility="Collapsed"/>
|
|
<GridViewRowPresenter Grid.RowSpan="2"
|
|
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
|
|
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
|
</Grid>
|
|
</Border>
|
|
</Border>
|
|
</StackPanel>
|
|
|
|
<!-- triggers for hover, selection, and activation effects -->
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter Property="Background" Value="{StaticResource ListItemHoverFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_MouseOverBorder}"/>
|
|
<Setter Property="Visibility" TargetName="UpperHighlight" Value="Visible"/>
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="true">
|
|
<Setter Property="Background" Value="{StaticResource ListItemSelectedFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_SelectedBorder}"/>
|
|
<Setter Property="BorderBrush" TargetName="InnerBorder" Value="#80FFFFFF"/>
|
|
<Setter Property="Visibility" TargetName="UpperHighlight" Value="Visible"/>
|
|
<Setter Property="Fill" TargetName="UpperHighlight" Value="{DynamicResource Brush_SelectedUpperHighlight}"/>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsSelected" Value="true"/>
|
|
<Condition Property="Selector.IsSelectionActive" Value="false"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="Background" Value="{StaticResource ListItemSelectedInactiveFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_SelectedActiveBorder}"/>
|
|
</MultiTrigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsSelected" Value="true"/>
|
|
<Condition Property="IsMouseOver" Value="true"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="Background" Value="{StaticResource ListItemSelectedHoverFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_SelectedMouseOverBorder}"/>
|
|
</MultiTrigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
|
|
<!-- Template for long lines. This is a modification of the default style, with
|
|
Content and Columns attributes defined in the GridViewRowPresenter. It appears we
|
|
inherit the FocusVisualStyle from the default. -->
|
|
<ControlTemplate x:Key="longCommentTemplate" TargetType="{x:Type ListViewItem}">
|
|
<StackPanel>
|
|
<Border BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Background="{TemplateBinding Background}"
|
|
CornerRadius="2"
|
|
SnapsToDevicePixels="true">
|
|
<Border x:Name="InnerBorder" BorderThickness="1" CornerRadius="1">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition MaxHeight="11"/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Rectangle x:Name="UpperHighlight" Fill="#75FFFFFF" Visibility="Collapsed"/>
|
|
<GridViewRowPresenter Content="{TemplateBinding Content}"
|
|
Columns="{StaticResource gvcc}"
|
|
Grid.RowSpan="2"
|
|
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
|
|
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
|
</Grid>
|
|
</Border>
|
|
</Border>
|
|
</StackPanel>
|
|
|
|
<!-- triggers for hover, selection, and activation effects -->
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter Property="Background" Value="{StaticResource ListItemHoverFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_MouseOverBorder}"/>
|
|
<Setter Property="Visibility" TargetName="UpperHighlight" Value="Visible"/>
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="true">
|
|
<Setter Property="Background" Value="{StaticResource ListItemSelectedFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_SelectedBorder}"/>
|
|
<Setter Property="BorderBrush" TargetName="InnerBorder" Value="#80FFFFFF"/>
|
|
<Setter Property="Visibility" TargetName="UpperHighlight" Value="Visible"/>
|
|
<Setter Property="Fill" TargetName="UpperHighlight" Value="#40FFFFFF"/>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsSelected" Value="true"/>
|
|
<Condition Property="Selector.IsSelectionActive" Value="false"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="Background" Value="{StaticResource ListItemSelectedInactiveFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_SelectedActiveBorder}"/>
|
|
</MultiTrigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsSelected" Value="true"/>
|
|
<Condition Property="IsMouseOver" Value="true"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="Background" Value="{StaticResource ListItemSelectedHoverFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_SelectedMouseOverBorder}"/>
|
|
</MultiTrigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
|
|
<!-- yet another copy of the template, this one for VisualizationSet lines -->
|
|
<ControlTemplate x:Key="visualizationSetTemplate" TargetType="{x:Type ListViewItem}">
|
|
<StackPanel>
|
|
<Border BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Background="{TemplateBinding Background}"
|
|
CornerRadius="2"
|
|
SnapsToDevicePixels="true">
|
|
<Border x:Name="InnerBorder" BorderThickness="1" CornerRadius="1">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition MaxHeight="11"/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Rectangle x:Name="UpperHighlight" Fill="#75ffffff" Visibility="Collapsed"/>
|
|
<GridViewRowPresenter Content="{TemplateBinding Content}"
|
|
Columns="{StaticResource gvcc_vs}"
|
|
Grid.RowSpan="2"
|
|
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
|
|
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
|
</Grid>
|
|
</Border>
|
|
</Border>
|
|
</StackPanel>
|
|
|
|
<!-- triggers for hover, selection, and activation effects -->
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter Property="Background" Value="{StaticResource ListItemHoverFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_MouseOverBorder}"/>
|
|
<Setter Property="Visibility" TargetName="UpperHighlight" Value="Visible"/>
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="true">
|
|
<Setter Property="Background" Value="{StaticResource ListItemSelectedFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_SelectedBorder}"/>
|
|
<Setter Property="BorderBrush" TargetName="InnerBorder" Value="#80FFFFFF"/>
|
|
<Setter Property="Visibility" TargetName="UpperHighlight" Value="Visible"/>
|
|
<Setter Property="Fill" TargetName="UpperHighlight" Value="#40FFFFFF"/>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsSelected" Value="true"/>
|
|
<Condition Property="Selector.IsSelectionActive" Value="false"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="Background" Value="{StaticResource ListItemSelectedInactiveFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_SelectedActiveBorder}"/>
|
|
</MultiTrigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsSelected" Value="true"/>
|
|
<Condition Property="IsMouseOver" Value="true"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="Background" Value="{StaticResource ListItemSelectedHoverFill}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource Brush_SelectedMouseOverBorder}"/>
|
|
</MultiTrigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
|
|
|
|
<!-- ListView style. We have to override the general foreground/background colors to
|
|
avoid making the whole thing look freakish. -->
|
|
<Style x:Key="codeListStyle" TargetType="{x:Type ListView}">
|
|
<Setter Property="Foreground" Value="{DynamicResource Brush_ListViewForeground}"/>
|
|
<Setter Property="Background" Value="{DynamicResource Brush_ListViewBackground}"/>
|
|
</Style>
|
|
|
|
<Style x:Key="codeListItemStyle" TargetType="{x:Type ListViewItem}">
|
|
<!-- Base template. -->
|
|
<Setter Property="Template" Value="{StaticResource baseListItemTemplate}"/>
|
|
|
|
<!-- There's a one-pixel gap between items, possibly space for grid lines, that
|
|
can't seem to be eliminated. Declaring a negative margin removes it. This is
|
|
necessary because the gap isn't a mouse target, so if your mouse is in just the
|
|
wrong place you'll feel like you clicked and nothing happened. -->
|
|
<Setter Property="Margin" Value="0,-1,0,0"/>
|
|
|
|
<!-- This causes individual TextBoxes to stretch to fill the column. This is nice
|
|
because the cell-highlight stuff will set the background on the full cell rather than
|
|
just the bit with the text. -->
|
|
<Setter Property="HorizontalContentAlignment" Value="Left"/>
|
|
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=IsLongComment}" Value="True">
|
|
<Setter Property="Template" Value="{StaticResource longCommentTemplate}"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Path=IsVisualizationSet}" Value="True">
|
|
<Setter Property="Template" Value="{StaticResource visualizationSetTemplate}"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Path=HasBackgroundColor}" Value="True">
|
|
<Setter Property="Background" Value="{Binding Path=BackgroundBrush}"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<!-- Highlighting for individual cells. -->
|
|
<LinearGradientBrush x:Key="HighlightedCellFill" EndPoint="0,1" StartPoint="0,0">
|
|
<GradientStop Color="{DynamicResource Color_HighlightedCellFill0}" Offset="0"/>
|
|
<GradientStop Color="{DynamicResource Color_HighlightedCellFill1}" Offset="1"/>
|
|
</LinearGradientBrush>
|
|
|
|
<DataTemplate x:Key="addrHighlightTemplate">
|
|
<TextBlock>
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="TextTrimming" Value="CharacterEllipsis"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=IsNonAddressable}" Value="True">
|
|
<Setter Property="TextBlock.Foreground" Value="{DynamicResource Brush_ListViewGreyText}"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Path=HasAddrLabelHighlight}" Value="True">
|
|
<Setter Property="TextBlock.Background" Value="{StaticResource HighlightedCellFill}"/>
|
|
<Setter Property="TextBlock.Foreground" Value="{DynamicResource Brush_ListViewForeground}"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
<TextBlock.Text>
|
|
<Binding Path="Addr"/>
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
</DataTemplate>
|
|
<DataTemplate x:Key="labelHighlightTemplate">
|
|
<TextBlock>
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="TextTrimming" Value="CharacterEllipsis"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=HasAddrLabelHighlight}" Value="True">
|
|
<Setter Property="TextBlock.Background" Value="{StaticResource HighlightedCellFill}"/>
|
|
<Setter Property="TextBlock.Foreground" Value="{DynamicResource Brush_ListViewForeground}"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
<TextBlock.Text>
|
|
<Binding Path="Label"/>
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
</DataTemplate>
|
|
<DataTemplate x:Key="flagsHighlightTemplate">
|
|
<TextBlock>
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="TextTrimming" Value="CharacterEllipsis"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=HasModifiedFlags}" Value="True">
|
|
<Setter Property="TextBlock.Foreground" Value="DeepSkyBlue"/>
|
|
<Setter Property="TextBlock.FontWeight" Value="Bold"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
<TextBlock.Text>
|
|
<Binding Path="Flags"/>
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
</DataTemplate>
|
|
<DataTemplate x:Key="operandHighlightTemplate">
|
|
<TextBlock>
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="TextTrimming" Value="CharacterEllipsis"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=HasOperandHighlight}" Value="True">
|
|
<Setter Property="TextBlock.Background" Value="{StaticResource HighlightedCellFill}"/>
|
|
<Setter Property="TextBlock.Foreground" Value="{DynamicResource Brush_ListViewForeground}"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
<TextBlock.Text>
|
|
<Binding Path="Operand"/>
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
</DataTemplate>
|
|
</ResourceDictionary> |