- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我第一次构建 UWP 应用程序,而且我通常是 c#/Windows 的新手。我正在尝试在 UI 中使用 Pivot。我希望数据透视表头来自 ObservableCollection
连接的 USB 设备的数量,按类别 Device_Info
.每个 USB 设备都有一个名为 HardwareRevNumMajor
的属性。我想显示为每个枢轴标题。我的 xml 看起来像这样:
<Page
x:Class="usb_test.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:usb_test"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:code="using:usb_test"
mc:Ignorable="d">
<Page.DataContext>
<local:View_Model/>
</Page.DataContext>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Pivot x:Name="pivot1" Title="Pivot" Opacity="0.99" ItemsSource="{Binding Devices}">
<Pivot.HeaderTemplate>
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<Binding Path="Device_Info.HardwareRevNumMajor"/>
</TextBlock.Text>
</TextBlock>
<!--<TextBlock Text="{Binding HardwareRevNumMajor}">
</TextBlock>-->
</DataTemplate>
</Pivot.HeaderTemplate>
<Pivot.ItemTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding DeviceFiles}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding numBlocks}"/>
<TextBlock Text="{Binding syncTime}"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</Pivot.ItemTemplate>
</Pivot>
</Grid>
Device_Info
对象被添加到
Devices
observableCollection 我得到一个错误。
Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
.然后,如果我在设计器中单击 MainPage.xaml 文件,我会看到:
TargetException: Object does not match target type.
StackTrace:
at System.Reflection.RuntimeMethodInfo.CheckConsistency(Object target)
at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj,
BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.GetValue(Object obj, Object[] index)
InnerException: None
HarwareRevNumMajor
居住在
Device_Info
上的属性(property)被注释掉的
TextBlock
代码。
namespace usb_test
{
public class View_Model
{
public ObservableCollection<Device_Info> _devices;
public ObservableCollection<File_Info> _deviceFiles;
public CoreDispatcher _dispatcher;
public View_Model() {
_devices = new ObservableCollection<Device_Info>();
_deviceFiles = new ObservableCollection<File_Info>();
}
public ObservableCollection<Device_Info> Devices
{
get
{
return _devices;
}
}
public ObservableCollection<File_Info> DeviceFiles
{
get
{
return _deviceFiles;
}
}
namespace usb_test
{
public sealed partial class MainPage : Page
{
Device_List devList = new Device_List();
Device_Structure deviceStruct = new Device_Structure();
View_Model viewModel = new View_Model();
public MainPage()
{
this.InitializeComponent();
viewModel._dispatcher = Dispatcher;
this.DataContext = viewModel;
devList.devices.CollectionChanged += this.OnCollectionChanged;
deviceStruct.deviceFiles.CollectionChanged += this.OnCollectionChanged;
...
await viewModel._dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() => { devList.devices.Add(devInfo); });
Dev_Info
对象放入设备 observableCollection 并在应用程序崩溃后不久。
Dev_Info
的属性的任何建议/澄清,我将不胜感激。目的。
最佳答案
您的元素来自 Devices
属于 Device_Info
类型.在您的 DataTemplate
您将 text 属性绑定(bind)到 Device_Info.HardwareRevNumMajor
.由于上下文是您的项目 (Device_Info),因此您尝试访问属性 Device_Info。
如果你写:
<TextBlock Text="{Binding HardwareRevNumMajor}" />
HardwareRevNumMajor
至尊可能存在于 Device_Info 中。
关于c# - uwp xaml DataBinding 到 ObservableCollection 内的嵌套属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45739498/
我正在尝试在 android 中学习 ViewModel,在我的第一阶段学习中,我正在尝试使用 ViewModel 和 DataBinding 来更新 UI(TextView)。在 ViewModel
在 ASP.NET 中,您可以单独绑定(bind)控件(即 GridView1.DataBind() ),也可以调用 Page.DataBind()绑定(bind)页面上的所有控件。 这两个调用之间有
如何使用新的 dataBinder 插件进行双向绑定(bind)(从 UI 到数据以及从数据到 UI)? 非常感谢! 最佳答案 我们还没有这个,也许在 v1 之后。不确定您的用例是什么,但我们已经为每
我正在尝试将 Kotlin 与 DataBinding 一起使用,但我遇到了这个错误: Error:[kapt] An exception occurred: java.lang.annotation
我只是将我的项目转换为 androidX 并成功构建项目。但是当我想运行那个时间时,它在启用了 java 的 android studio 3.5.3 中创建了这个错误。 这是我的项目 gradle:
这个问题在这里已经有了答案: no cached version available for offline mode (11 个回答) 2年前关闭。 无法确定任务的依赖关系 :app:compile
这是一个与今天无关的老问题。请参阅 Android 开发人员的说明。与四年前相比,现在将数据绑定(bind)应用于您的项目要容易得多。 我正在阅读 https://developer.android.
异常(exception)情况如下: java.lang.NullPointerException: Attempt to read from field 'java.lang.Runnable an
构建项目时收到以下警告 DSL element 'android.dataBinding.enabled' is obsolete and has been replaced with 'androi
今天升级Android Studio 2.3后,构建项目失败。 当构建项目 gradle console 显示这个错误: FAILURE: Build failed with an exception
我有一个消息列表,我将这些消息的模板绑定(bind)到单击事件中,然后在该模板内,我有一个超链接绑定(bind)到 js 函数,该函数应该打开一个 mailto 页面。 但是,尽管 js 函数执行,但
我在 Wildfly 8.2.1 和 Glassfish 4.1 中使用 Spring Data JPA 部署 Spring MVC 应用程序时遇到问题(它在 Wildfly 10 中工作,但我不允许
我为横向创建了一个替代布局 XML 文件。使用 DataBindingUtil 的填充在纵向模式下工作正常,但在加载自定义 XML 文件时在横向模式下崩溃。 使用数据绑定(bind)的布局膨胀: cl
数据绑定(bind)到控件的可见属性时是否存在任何已知问题? 无论我的属性是什么,该控件始终不可见。 Public ReadOnly Property IsRibbonCategory() As Bo
使用数据绑定(bind),如何绑定(bind)使用值类型的新对象? 简单的例子: public class Person() { private string _firstName;
我有一个 Image 控件,它的源绑定(bind)到对象上的属性(字符串 url 到图像)。进行服务调用后,我使用新 URL 更新数据对象。在调用 PropertyChanged 事件后,它离开我的代
我想在传入的绑定(bind)整数上添加一个常量值。事实上,我有几个地方想要绑定(bind)到相同的源值但添加不同的常量。所以理想的解决方案是这样的...... (注意:这是一个展示这个想法的例子
我正在开发一个 Windows Phone 应用程序。我将 List 绑定(bind)到内容控制元素。 在转换器中,我返回指定参数的字符串。
天哪!我讨厌这个。为什么这么复杂? 我正在尝试做的事情: 我有一个包含多个用户控件的表单,每个控件都有一个数据网格。每个网格通过 .ItemSource 属性与 ObservableCollectio
我正在使用数据绑定(bind)并且我已经声明了 lateinit var对于绑定(bind)以及当我要去不同的 fragment Leaky canary 显示泄漏时。 fragment class
我是一名优秀的程序员,十分优秀!