- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Plot 而不是 PlotView 在 XAML 中配置了一个 Oxyplot。 (我在单个属性上使用 Binding,而不是在完整的 PlotModel 上使用。)
配置使用了 6 个 LineAnnotations,我想选择显示或隐藏。
我使用 Binding 将 LineAnnotations 的 Visibility 属性连接到我的 ViewModel 中的属性。属性是 bool 值,我使用转换器将值转换为 Visibility.Collapsed 或 Visibility.Visible(但我也可以定义类型为 Visibility 的属性)。
这行不通。 LineAnnotations 始终可见。
事实上,我认为 LineAnnotation 的 Visibility 属性根本不起作用。
有人可以确认这个问题吗?
是否有其他方法可以根据我的 ViewModel 中的属性显示或隐藏 LineAnnotations?
我更愿意坚持使用 XAML 配置,而不是在代码中添加和删除 LineAnnotations。
更新
根据要求,一些代码
XAML
<oxy:Plot Grid.Row="1">
<oxy:Plot.Axes>
<oxy:LinearAxis Key="yAxis"
Position="{Binding Path=XAxisInverted, Converter={StaticResource BoolToAxisPosition_fl_tr}}"
Minimum="{Binding YAxis_Min}"
Maximum="{Binding YAxis_Max}"
MajorGridlineStyle="Dot"
MajorGridlineColor="LightGray"
Title="Velocity [km/h]" />
<oxy:LinearAxis Key="xAxis"
Position="Bottom"
Minimum="{Binding XAxisNumericMin}"
Maximum="{Binding XAxisNumericMax}"
StartPosition="{Binding Path=XAxisInverted, Converter={StaticResource BoolToInt_f0_t1}}"
EndPosition="{Binding Path=XAxisInverted, Converter={StaticResource BoolToInt_f1_t0}}"
MajorGridlineStyle="Dot"
MajorGridlineColor="LightGray"
Title="Position [m]" />
</oxy:Plot.Axes>
<oxy:Plot.Series>
<oxy:LineSeries ItemsSource="{Binding PointsRef1}"
DataFieldX="X"
DataFieldY="Y"
StrokeThickness="1"
MarkerSize="0"
LineStyle="Solid"
Color="DarkGray"
MarkerType="None"/>
<oxy:LineSeries ItemsSource="{Binding PointsRef2}"
DataFieldX="X"
DataFieldY="Y"
StrokeThickness="1"
MarkerSize="0"
LineStyle="Solid"
Color="DarkGray"
MarkerType="None"/>
<oxy:LineSeries ItemsSource="{Binding PointsBlack}"
DataFieldX="X"
DataFieldY="Y"
StrokeThickness="1"
MarkerSize="0"
LineStyle="Solid"
Color="Black"
MarkerType="None"/>
<oxy:LineSeries ItemsSource="{Binding PointsRed}"
DataFieldX="X"
DataFieldY="Y"
StrokeThickness="1"
MarkerSize="0"
LineStyle="Solid"
Color="Red"
MarkerType="None"/>
<oxy:LineSeries ItemsSource="{Binding PointsBlue}"
DataFieldX="X"
DataFieldY="Y"
StrokeThickness="1"
MarkerSize="0"
LineStyle="Solid"
Color="Blue"
MarkerType="None"/>
<oxy:LineSeries ItemsSource="{Binding PointsGreen}"
DataFieldX="X"
DataFieldY="Y"
StrokeThickness="1"
MarkerSize="0"
LineStyle="Solid"
Color="Green"
MarkerType="None"/>
</oxy:Plot.Series>
<oxy:Plot.Annotations>
<oxy:LineAnnotation x:Name="BrakePosRear" Type="Vertical" Color="{Binding BrakePosRear_1_Color}" Visibility="{Binding Path=BrakePosRear_1_Enabled, Converter={StaticResource BoolToVisibility}}" X="{Binding BrakePosRear_1_Value}" local:AnnotationDragableBehavior.IsDragable="True" />
<oxy:LineAnnotation x:Name="BrakePosFront" Type="Vertical" Color="{Binding BrakePosFront_1_Color}" Visibility="{Binding Path=BrakePosFront_1_Enabled, Converter={StaticResource BoolToVisibility}}" X="{Binding BrakePosFront_1_Value}" local:AnnotationDragableBehavior.IsDragable="True" />
<oxy:LineAnnotation x:Name="RefPos" Type="Vertical" Color="{Binding RefPos_1_Color}" Visibility="{Binding Path=RefPos_1_Enabled, Converter={StaticResource BoolToVisibility}}" X="{Binding RefPos_1_Value}" local:AnnotationDragableBehavior.IsDragable="True" />
<oxy:LineAnnotation x:Name="BrakePosRear2" Type="Vertical" Color="{Binding BrakePosRear_2_Color}" Visibility="{Binding Path=BrakePosRear_2_Enabled, Converter={StaticResource BoolToVisibility}}" X="{Binding BrakePosRear_2_Value}" local:AnnotationDragableBehavior.IsDragable="True" />
<oxy:LineAnnotation x:Name="BrakePosFront2" Type="Vertical" Color="{Binding BrakePosFront_2_Color}" Visibility="{Binding Path=BrakePosFront_2_Enabled, Converter={StaticResource BoolToVisibility}}" X="{Binding BrakePosFront_2_Value}" local:AnnotationDragableBehavior.IsDragable="True" />
<oxy:LineAnnotation x:Name="RefPos2" Type="Vertical" Color="{Binding RefPos_2_Color}" Visibility="{Binding Path=RefPos_2_Enabled, Converter={StaticResource BoolToVisibility}}" X="{Binding RefPos_2_Value}" local:AnnotationDragableBehavior.IsDragable="True" />
</oxy:Plot.Annotations>
</oxy:Plot>
类型转换器
class BoolToVisibility : IValueConverter
{
public object Convert( object value, Type targetType, object parameter, CultureInfo culture )
{
return System.Convert.ToBoolean ( value ) ? Visibility.Visible : Visibility.Collapsed ;
}
public object ConvertBack( object value, Type targetType, object parameter, CultureInfo culture )
{
throw new NotImplementedException ();
}
}
我还有一个附加行为来处理 LineAnnotation 上的鼠标事件(这很酷),但我认为它不相关。
我也曾尝试在 XAML 中直接指定 Visibility="Collapsed"(以及“Hidden”),但没有任何效果。
即使绑定(bind)不起作用,在 XAML 中对值进行硬编码也应该起作用。
最佳答案
在当前的 OxyPlot 和 OxyPlot.Wpf 实现中,这将不起作用。
OxyPlot.Wpf.LineAnnotation 类是内部类 OxyPlot.LineAnnotation 的包装器。要处理 Visiblilty 属性,它必须将该属性映射到内部 LineAnnotation 类的适当属性。
有两个问题。不仅 Wpf.LineAnnotation 不处理 Visiblilty 属性,而且 LineAnnotation 类中也没有可将其映射到的基础属性。 LineAnnotation 类似乎没有任何隐藏自身的概念。
这是 OxyPlot 和 XAML 之间的不匹配。正如 jstreet 指出的那样,LineAnnotation 根本没有出现在可视化树中。
关于c# - WPF 和 XAML 中的 OxyPlot LineAnnotation 可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41297970/
我想创建一个包含一堆其他 XAML 文件的主 XAML 文件。这可能吗? 最佳答案 在您的主 Xaml 中,使用 项目控件 balise 和 Xaml 组合器,您必须使用 定义您的项目用户控件 代替
如何在 xaml 中更改 ToggleSwitch 中实际开关的大小?我可以更改 OnContent 和 OffContent 的文本大小,但滑动开关永远不会更改大小。 这些都不会改变开关本身的大小,
我有一个文本 block 列表,其中可能包括里面的 url,比如: 构建失败,请在此处查看更多信息:http://... 构建成功 应用 http://myapp/无法启动,请在此处查看更多信息:ht
我想做的事 我最近一直在探索 XAML 资源字典。它们非常强大,但为了减少(甚至进一步)为适应任何修改而需要进行的更改,我想使用一些基本的算术运算来更改 HeightRequest Entry 的属性
我使用以下代码创建了一个弹出窗口,但我不知道如何将它居中 我试图在运行时自动更改边距,但我不知道该怎么做,但是有人知道如何将弹出窗口居中吗? 它没有标准维度,因为我需要全局化我的程序
哪种类型的命名更适合在 XAML 中使用: xmlns:inventoryControls="clr-namespace:Inventory.Components.Controls;assembly=
我正在尝试格式化我的 string每 3 位有逗号,如果不是整数,则为小数。我检查了大约 20 个示例,这是我最接近的示例: 但我得到一个 The property 'StringFormat' w
在 Windows Phone 8 中,我想将一个图像放在一个圆圈中。是否有类似网格的圆形容器?我知道有椭圆位它不是容器 最佳答案 这是我如何做到的。
有没有办法在 XAML 中检查逻辑非逻辑。我试图绑定(bind)到广泛使用的属性,但是对于这些新的绑定(bind),它的方式是错误的。我不想修改属性,那么有没有办法在 xaml 中反转 bool 结果
在 html 中可以说 width="20%"。这在 XAML 中当然是不允许的。有谁知道为什么会这样或者有没有办法在 XAML 中获得百分比值支持? 最佳答案 网格列定义和行定义允许比例单位(除了固
我可以动态创建 XAML 并将其弹出到我的应用程序中吗?该怎么做呢? 最佳答案 是的,这很简单: XmlReader tXml = XmlReader.Create(myXamlString); UI
简短版: 如果不使用 xamlc 预编译 xaml,应用程序中捆绑了什么以在运行时编译 xaml?它是否取决于 xamarin.forms nugets 之外的应用构建时的当前工具集? 长版: 我们有
我知道如何显示内容页面,但如何根据方向选择正确的布局。我想编写 xaml 文件:一个用于垂直方向,另一个用于水平方向。方向改变时是否可以切换xaml文件 最佳答案 Xamarin.Forms does
我是一名 Android 开发者,我是 Windows Phone 8 的新手 最近我做了一个 android 应用程序..所以我想在 Windows Phone 8 中开发具有相同 View 和相同
在库中编译 XAML 时出现以下错误: Themes\Generic.xaml(35,12): XamlCompiler error WMC0610: XBF generation error cod
我需要在几个不同的 XAML 布局文件中包含一个通用的 XAML。 我不想在其他 XAML 文件中对重复的 XAML 部分进行硬编码。 怎么做包含? 最佳答案 你能把共享代码变成UserControl
我想像这样添加一个符号: 这行不通,所以我尝试用\分隔,但也行不通。有人对我如何做到这一点有任何建议吗? 最佳答案 其实这个问题不是关于XAML的,它只是一个纯XML的问题。 XML中有些字符需要转
我在 Xaml 中定义了这样的列表。 #3599B8 #374649 #FD625E #F2C80F
在向 Microsoft 报告之前,我想在这里问一下。我有一个问题,我无法看到我的 WinUI 3 应用程序的实时可视化树。我什至看不到应用程序内工具栏。我可以在 WPF 和 UWP 应用程序中看到,
我已经定义了一个动画作为一个资源,当通过这样的 EventTrigger 调用时它可以工作: 然后
我是一名优秀的程序员,十分优秀!