标签: binding

将列表框绑定到 XmlDocument

有人可以帮我解决为什么我的列表框是空的吗?

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 确实具有正确的节点。

提前致谢

c# xml wpf binding xml-binding

1
推荐指数
1
解决办法
4863
查看次数

是否可以有一个条件设置器,大于 0 值?

如何将 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 binding wpf-controls

1
推荐指数
1
解决办法
3682
查看次数

WPF ListView 不会在 PropertyChanged 上更新

我有一个 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) …

c# wpf binding listview inotifypropertychanged

1
推荐指数
1
解决办法
6025
查看次数

如何重命名 jaxb xjc 中的嵌套类

我有一个 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)

这是 …

java binding jaxb xjc

1
推荐指数
1
解决办法
4331
查看次数

BindingError 会降低应用程序性能吗?

我开发了WPF应用程序。我在其中添加了很多重控制。但现在我正在努力提高应用程序的性能。我分析了一下,发现有很多Binding Data Error's运行在Output Window.

那么,这些错误对应用程序性能的影响也会一样大吗?

c# wpf performance binding

1
推荐指数
1
解决办法
1235
查看次数

IIS 绑定 - 最简单的备份和恢复

我有一个 Windows 2008 R2 服务器,我正在寻找最简单的方法来备份服务器的绑定。我有大量针对某个特定 IIS“网站”的绑定,需要找到一种方法来备份这些绑定,并能够在服务器崩溃或迁移到另一台服务器时恢复它们。

如何才能做到这一点?

我可以从“高级属性”中获取一个列表,但它是只读的,因此我必须一次重置它们。

有任何想法吗?它不一定是每天的系统备份过程,但我会更放心地知道我可以快速将这些备份到新服务器中。

我已经看到了对 APPCMD 的引用,但还没有看到如何导出或导入完整的绑定列表。

抱歉,没有这方面的经验。谢谢!

windows iis binding appcmd server

1
推荐指数
1
解决办法
2621
查看次数

从 Datagrid 单元格或行中获取文本

您好,我正在使用数据网格在 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)

如何从选定的单元格或行中获取文本?

c# wpf xaml binding datagrid

1
推荐指数
1
解决办法
4470
查看次数

为什么 ListView 不显示 WPF 上的项目?

我试图在 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)

c# wpf binding

1
推荐指数
1
解决办法
1399
查看次数

未调用数据绑定 setOnClickListener

我在 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)

binding android

1
推荐指数
1
解决办法
2229
查看次数

如何通过文字进行模式匹配并同时为其分配变量?

我如何将这两者结合起来,以便能够进行模式匹配,同时在变量中具有匹配的文字?

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

1
推荐指数
1
解决办法
70
查看次数