WPF需要帮助理解如何转化为模板自定义控件

WPF需要帮助理解如何转化为模板自定义控件,wpf,xaml,uwp,custom-controls,Wpf,Xaml,Uwp,Custom Controls,我正在为一个我正在工作的项目设计一个自定义控件的布局,并使它看起来像我希望的那样,问题是,从功能的角度来看,我不相信它能满足我真正需要的功能。下面的内容可以放进窗口,以获得我要找的样子 标题 $125,400.00 测试1 测试2 测试3 测试4 测试5 $0.00 $-100.00 $125,000.00 $1,000.00 $-500.00 现在我正在努力解决的问题是,这是一个模板,可以与绑定一起使用,我想我可能应该为列标题使用listview和Grid视图。因此,任何建议在此也将不胜感

我正在为一个我正在工作的项目设计一个自定义控件的布局,并使它看起来像我希望的那样,问题是,从功能的角度来看,我不相信它能满足我真正需要的功能。下面的内容可以放进窗口,以获得我要找的样子


标题
$125,400.00
测试1
测试2
测试3
测试4
测试5
$0.00
$-100.00
$125,000.00
$1,000.00
$-500.00
现在我正在努力解决的问题是,这是一个模板,可以与绑定一起使用,我想我可能应该为列标题使用listview和Grid视图。因此,任何建议在此也将不胜感激

上面有几件事我可以看作是一个问题,主要是我需要单击每个项目行,然后运行一些代码,这就是为什么我觉得我应该使用网格视图选项。但是我没有使用网格视图的一个原因,主要是因为我看不到有任何方法可以在这里对列进行相同的布局

因此,概括一下

  • 我应该使用网格视图吗?如果是这样,如何通过缩放中间列获得相同的结果
  • 学习将其转换为自定义控件的最佳方法,我可以对其进行样式设置。主要是寻找一个解释,资源学习
编辑:

对于那些关注或感兴趣的人,我正在努力解决的部分是以下部分。我如何从数据绑定中做到这一点,并使模板以这种方式进行控制?我理解绑定部分,它是控制数据的实际模板,与下面的代码演示的方式相同


测试1
测试2
测试3
测试4
测试5
$0.00
$-100.00
$125,000.00
$1,000.00
$-500.00

使用自定义控件的原因是,您希望完全为主题重新设置模板。它们比用户控件或模板更复杂,如果您不需要主题化功能,那么用户控件或模板就是最好的选择

它看起来确实像一个listview可以满足您的需要

您可能需要一个row viewmodel,该模型显示一个笔刷,用于将第二列的前景绑定到该笔刷

该列将类似于:

前刷是一种公共的颜色刷

笔刷可以说是一种视图责任,因此您可以使用枚举或类似的方法来代替。还有一个转换器把它转换成刷子

然后,可以将整个标记转换为数据模板,并将数据转换为viewmodel。使用该viewmodel的类型通过与viewmodel匹配的数据类型将其模板化到ui中

 <DataTemplate DataType="{x:Type local:CostingsListViewModel}"
     <ListView>
      .....

您的标记中有任何可更改的部分吗?您可以将整个
StackPanel
放在一个
UserControl
中,您可以在多个窗口和其他视图中重用。@mm8我希望将其转换为一个自定义控件,但问题是,如果我错了,请纠正我,我看到的问题是两个堆栈面板为数据做列。不管我看到什么,我不能把它减少到我认为会为模板工作的东西。欣赏反馈,但是我迷失了,或者停留在需要为数据模板做模板的那一节上,我可能过于复杂了。但我不知道如何获得如我的问题所示的创建堆栈面板的方法。对于listview,在listview中会有两列带有标题。
  <DataTemplate DataType="{x:Type local:CostingsListViewModel}"
      <local:CostingsListView/>