有人可以帮我解决为什么我的列表框是空的吗?
XmlDocument 包含以下 XML:
<Config>
<Tabs>
<Tab Name="Test1" />
<Tab Name="Test2" />
</Tabs>
</Config>
Run Code Online (Sandbox Code Playgroud)
在我的 XAML 文件中,我尝试了以下操作
<Window>
<Grid>
<ListBox DataContext="{Binding {StaticResource Data}, XPath=//Tabs}" ItemsSource="{Binding XPath=Tab/@Name}">
</ListBox>
</Grid>
<Window>
Run Code Online (Sandbox Code Playgroud)
我知道我尚未设置与 name 属性的绑定,但是如果它正常工作,是否应该为每个选项卡节点显示 XmlDocument.XmlNode.ToString() ?
我的 C# 构造函数背后的代码:
InitializeComponent();
this.doc = new XmlDocument();
doc.LoadXml(config.document.OuterXml);
XmlDataProvider provider = (XmlDataProvider)Resources["Data"];
provider.Document = doc;
provider.Refresh();
Run Code Online (Sandbox Code Playgroud)
是config.document.OuterXml包含上述 xml 的有效文档。
我使用 Collections 处理过程代码,但我一直在尝试找出如何直接绑定到 XML。
更新:列表框为空
现在没有绑定错误,但我的列表框为空,我已经仔细检查了我的 XML 文件,甚至执行了 MessageBox.Show(provider.Document.OuterXML) 并可以确认 XmlDocument 确实具有正确的节点。
提前致谢
如何将 setter 分配给条件值(例如 more than )0?如果值不是,我需要隐藏一个对象0。最好的方法是什么?任何想法都受到高度赞赏。
XAML 示例DataTrigger:
<DataTrigger Binding="{Binding Role.Count}" Value="0">
<Setter TargetName="Counts" Property="Visibility" Value="Hidden" />
</DataTrigger>
Run Code Online (Sandbox Code Playgroud) 我有一个 WPF 列表视图,显示材质、厚度以及组合框中的厚度单位...xaml 如下所示(为了清晰起见,我删除了所有可视化设置):
<ListView ItemsSource="{Binding Path=MaterialLayers}" IsSynchronizedWithCurrentItem="True">
<ListView.Resources>
<x:Array x:Key="DistanceUnitItems" Type="sys:String" xmlns:sys="clr-namespace:System;assembly=mscorlib">
<sys:String>cm</sys:String>
<sys:String>inches</sys:String>
</x:Array>
<DataTemplate x:Key="ThicknessUnit">
<ComboBox ItemsSource="{StaticResource DistanceUnitItems}" SelectedIndex="{Binding ThicknessUnit}" />
</DataTemplate>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="Material Name" DisplayMemberBinding="{Binding MaterialName}"/>
<GridViewColumn Header="Material Thickness" DisplayMemberBinding="{Binding MaterialThickness}"/> />
<GridViewColumn Header="Thickness Unit" CellTemplate="{StaticResource ThicknessUnit}" />
</GridView>
</ListView.View>
</ListView>
Run Code Online (Sandbox Code Playgroud)
MaterialLayers是一个ObservableCollection<MaterialLayer>
MaterialLayer 具有 MaterialName、MaterialThickness 和 ThicknessUnit 属性(0 表示厘米,1 表示英寸)。MaterialThickness 将内部存储的值(以厘米为单位)转换为由 ThicknessUnit 指定的单位。
当 ThicknessUnit 更改时,我的 DataViewModel 会调用PropertyChanged以“MaterialLayers”作为属性名称的事件处理程序。
因此,我希望当 ThicknessUnit 更改时,MaterialThickness 会自动更新。
我已经对其进行了调试,并且 PropertyChanged("MaterialLayers") 被调用。(当调用 ThicknessUnit set 方法时,它调用父数据类 (MyData) …
我有一个 wsdl 导入一个模式,我试图解析 xjc 命名多个具有相同名称的嵌套 MyElementName 类 - 这不会编译我在下面创建了这个绑定文件,但它给出了错误:
parsing a schema...
compiling a schema...
Exception in thread "main" java.lang.IllegalArgumentException: Illegal class inheritance loop.
Outer class MyElementName1 may not subclass from inner class: MyElementName1
at com.sun.codemodel.internal.JDefinedClass._extends(JDefinedClass.java:257)
at com.sun.tools.internal.xjc.generator.bean.ImplStructureStrategy$1._extends(ImplStructureStrategy.java:104)
at com.sun.tools.internal.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:197)
at com.sun.tools.internal.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:151)
at com.sun.tools.internal.xjc.model.Model.generateCode(Model.java:275)
at com.sun.tools.internal.xjc.Driver.run(Driver.java:342)
at com.sun.tools.internal.xjc.Driver.run(Driver.java:184)
at com.sun.tools.internal.xjc.Driver._main(Driver.java:107)
at com.sun.tools.internal.xjc.Driver.access$000(Driver.java:64)
at com.sun.tools.internal.xjc.Driver$1.run(Driver.java:87)
Run Code Online (Sandbox Code Playgroud)
我删除了 MyElementName1 的第一个绑定,它工作正常,但只命名了 1 个类,我想更改这两个名称,如何更改绑定文件,以便它将两个旧的嵌套类正确命名为我在下面选择的两个唯一名称。我想这样做是因为我有其他映射,其中有 4 个同名的嵌套类,因此需要能够命名每个类来解决更多嵌套的问题区域
<jaxb:bindings
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
version="2.1">
<jaxb:bindings schemaLocation="MYWSDL.wsdl">
<jaxb:bindings node="//xsd:element[@name='AAAA']//xsd:complexType//xsd:sequence/xsd:element[@name='BBB']//xsd:complexType/xsd:sequence//xsd:element[@name='MyElementName']">
<jaxb:class name="MyElementName1"/>
</jaxb:bindings>
<jaxb:bindings node="//xsd:element[@name='AAAA']//xsd:sequence/xsd:element[@name='BBB']//xsd:element[@name='MyElementName']//xsd:sequence/xsd:element[@name='CCC']//xsd:sequence/xsd:element[@name='MyElementName']/xsd:complexType">
<jaxb:class name="MyElementName2"/>
</jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>
Run Code Online (Sandbox Code Playgroud)
这是 …
我开发了WPF应用程序。我在其中添加了很多重控制。但现在我正在努力提高应用程序的性能。我分析了一下,发现有很多Binding Data Error's运行在Output Window.
那么,这些错误对应用程序性能的影响也会一样大吗?
我有一个 Windows 2008 R2 服务器,我正在寻找最简单的方法来备份服务器的绑定。我有大量针对某个特定 IIS“网站”的绑定,需要找到一种方法来备份这些绑定,并能够在服务器崩溃或迁移到另一台服务器时恢复它们。
如何才能做到这一点?
我可以从“高级属性”中获取一个列表,但它是只读的,因此我必须一次重置它们。
有任何想法吗?它不一定是每天的系统备份过程,但我会更放心地知道我可以快速将这些备份到新服务器中。
我已经看到了对 APPCMD 的引用,但还没有看到如何导出或导入完整的绑定列表。
抱歉,没有这方面的经验。谢谢!
您好,我正在使用数据网格在 WPF 中显示一个可观察的集合。现在如何从 DataGrid 获取选定的行文本,以便我可以调用函数。这是我的 XAML:
<DataGrid x:Name="dataGrid" HorizontalAlignment="Left" Margin="0,77,0,0" VerticalAlignment="Top" Height="720" Width="664" ItemsSource="{Binding Items}" AutoGenerateColumns="False" Grid.ColumnSpan="2" SelectedCellsChanged="dataGrid_SelectedCellsChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="ProjectName" MinWidth="100" Binding="{Binding Path=ProjectName,Mode=TwoWay}" IsReadOnly="True"></DataGridTextColumn>
<DataGridTextColumn Header="Name" MinWidth="100" Binding="{Binding Path=Name,Mode=TwoWay}" IsReadOnly="True"></DataGridTextColumn>
<DataGridTextColumn Header="Path" MinWidth="460" Binding="{Binding Path=Path,Mode=TwoWay}" IsReadOnly="True"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
如何从选定的单元格或行中获取文本?
我试图在 WPF APP 上显示列表视图值,但我只能显示标题,下面是非常简单的代码:
public class Ticket
{
public string Descrption { get; set; }
public string Status { get; set; }
public Ticket()
{
}
}
Run Code Online (Sandbox Code Playgroud)
XAML:
<ListView ItemsSource="{Binding AllTasks}" Margin="34,30,69,65">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Descrption}" Header="Ticket" Width="150"></GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Status}" Header="Status" Width="50"></GridViewColumn>
</GridView>
</ListView.View>
</ListView>
public partial class MainWindow : Window
{
List<Ticket> AllTasks { get; set; }
public MainWindow()
{
InitializeComponent();
AllTasks = new List<Ticket>();
Ticket ticket2 = new Ticket();
ticket2.Descrption = "test";
ticket2.Status = "To Do"; …Run Code Online (Sandbox Code Playgroud) 我在 Udacity 上制作了 Android Kotlin 教程,但我的代码没有按预期工作。请看看我的代码为什么不起作用。问题是binding.doneButton.setOnClickListener不运行。
这是我的 MainActivity.kt
package hu.webfeszek.aboutme
import android.content.Context
import android.os.Bundle
import android.util.Log
import android.view.View
import android.view.inputmethod.InputMethodManager
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
// import kotlinx.android.synthetic.main.activity_main.*
import hu.webfeszek.aboutme.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
setContentView(R.layout.activity_main)
binding.doneButton.setOnClickListener {
// This code does running never
Log.i("LOG_ME", binding.doneButton.text.toString())
addNickName(it)
}
}
private fun addNickName(view:View) {
}
}
Run Code Online (Sandbox Code Playgroud)
我添加<layout>到我的activity_main.xml 和3 行到build.gradle:
dataBinding {
enabled = …Run Code Online (Sandbox Code Playgroud) 我如何将这两者结合起来,以便能够进行模式匹配,同时在变量中具有匹配的文字?
fun1 :: Int -> String
fun1 1 = -- ..... how to bind 1 to a variable in the function declaration?
fun1 55 = -- ..... how to bind 55 to a variable in the function declaration?
fun1 123 = -- ..... how to bind 123 to a variable in the function declaration?
fun1 a = -- ........... all is OK
Run Code Online (Sandbox Code Playgroud) variables binding haskell pattern-matching variable-assignment