小编Aet*_*oud的帖子

如何在c#中实现决策矩阵

我需要根据一组相当大的8个相关依赖条件做出决定.

           | A | B | C | D | E | F | G | H
-----------+---+---+---+---+---+---+---+---
Decision01 | 0 | 1 | - | 1 | 0 | 1 | - | 1
Decision02 | 1 | 0 | - | 0 | 0 | - | 1 | -
    ...   
Decision11 | 1 | 0 | 1 | 1 | 1 | - | 1 | 1
Run Code Online (Sandbox Code Playgroud)

从A到H的每个条件对于决定可以是真(1),假(0)或不相关( - ).

所以用给定的输入

A B C D E F …
Run Code Online (Sandbox Code Playgroud)

c# logic matrix control-structure decision-tree

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

在WPF Tabcontrol标题模板中显示SelectedIndex

我的应用程序中有1 ... n个tabcontrols,具有以下XAML设置:

<TabControl Name="ordersTabControl" ItemsSource="{Binding CoilItems}">
  <TabControl.ItemTemplate>
    <DataTemplate DataType="models:Coil">
      <StackPanel>
        <TextBlock Text="{Binding CoilCode, StringFormat='Coil: {0}'}" />
        <TextBlock Text="{Binding ArticleCode, StringFormat='Auftrag: {0}'}" />
        <TextBlock Text="{Binding RestWeight, StringFormat='Restgewicht: {0} kg'}" />
      </StackPanel>
    </DataTemplate>
  </TabControl.ItemTemplate>
  <TabControl.ContentTemplate>
  [...]
  </TabControl.ContentTemplate>
</TabControl>
Run Code Online (Sandbox Code Playgroud)

打开的选项卡数量在运行时更改.现在我想在每个标签中显示索引(即第一个标签显示"订单1",第二个"订单2"等等)以及每个标题中已有的信息.

使用DataTemplate时AFAIK我无法通过代码隐藏访问tab-properties,所以在XAML中是否有任何方法可以在tabheader中绑定文本块以显示tabcontrol中该特定选项卡的索引?

我认为应该可以使用RelativeSource和FindAncestors吗?唉,我真的找不到关于这些设置的任何明确的教程(我2天前才开始使用WPF).

c# wpf xaml binding tabcontrol

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

WPF TabControl 标题和内容未更新?

设置:我有一个带有 0...n 个选项卡的选项卡控件,每个选项卡都绑定到一个类:

class MyTabItem
{
    string Text {get; set;}
    int ID {get; set;}
    ISet<MyTabContent> Contents {get; set;}
}

Class MyTabContent
{
    int ID {get; set;}
    string Subtext {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

每个 tabitem 类都有许多 tabcontent 类。(整个事情都是通过 NHibernate 获取的)。

我尝试了很多方法将 MyTabItem 的内容绑定到每个 tabcontrol 项的标题,并将 MyTabContent 的内容绑定到每个 tabcontrol 项内容中的数据网格。

我可以显示选项卡中的所有内容,但每当我更改绑定类中的属性时,UI 都不会更新。我尝试调用 InvalidateVisual,尝试调度 Render 事件,尝试对绑定进行 UpdateTarget 和 UpdateSource(最后 2 个抛出异常)。我已经在我的视图模型中实现了 INotifyPropertyChanged,甚至尝试手动使用 OnPropertyChanged("MyTabItem") 但无济于事。

我真的不明白为什么当我更改绑定类中的属性时我的 tabcontrol 内容不会更新。我尝试了两种不同的绑定策略,两种策略都可以显示内容,但当内容更改时都不会更新。

我的 XAML 设置是:

<TabControl>
  <TabControl.ItemTemplate>
    <DataTemplate DataType="models:MyTabItem">
      <TextBlock Text="{Binding Text}" />
    </DataTemplate>
  </TabControl.ItemTemplate>
  <TabControl.ContentTemplate>
    <DataTemplate DataType="models:MyTabItem">
      <DataGrid …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf user-interface tabcontrol

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