对staticresource的绑定意味着什么?我认为绑定到dynamicresource意味着依赖属性会在资源发生变化时更新。
绑定到静态资源是否仅附加资源的初始值?
我的目标是根据signal_data更新signal_viewer。
<UserControl.Resources>
<wpfExp:SignalData x:Key="signal_data" />
</UserControl.Resources>
<DockPanel x:Name ="maindockpanel" Height ="Auto" Width ="Auto" LastChildFill="True">
<ToolBarTray DockPanel.Dock="Top">
<ToolBar HorizontalAlignment="Stretch" VerticalAlignment="Top">
<Button Name="load_button" Height="20" Width="Auto" Click="Load_Button_Click">Load</Button>
<Button Name="zoom_in_button" Click="zoom_in_button_Click">Zoom In</Button>
<Button Name="zoom_out_button" Click="zoom_out_button_Click">Zoom Out</Button>
</ToolBar>
</ToolBarTray>
<ItemsControl x:Name ="Signalviewer_Control" ItemsSource="{Binding Source = {StaticResource signal_data}, Path = list_of_signals}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<wpfExp:SignalViewer Signal="{Binding}" MainText="{Binding Path = SignalName}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
答案 0 :(得分:1)
由于您提到的所有这些问题,我反对将ViewModel或数据作为Resource
放在XAML中。
相反,要么在代码中分配DataContext
:
public SomeWindow() //Window Constructor
{
DataContext = new SomeViewModel();
}
或使用here概述的RegisterDataTemplate
方法。
无论如何,如果您想快速解决此问题,请将list_of_signals
从List<T>
更改为ObservableCollection<T>