0

嘿,我希望有人可以为我回答几个问题。我应该如何确保绑定到 itemsource 的数据动态更新?我无法将 bindingsource 从静态资源更改为动态资源,因为 Object Binding 的 Source 属性不是依赖对象的依赖属性。

绑定到静态资源到底意味着什么?我认为绑定到动态资源意味着依赖属性会在资源更改时更新。

绑定到静态资源是否仅附加资源的初始值?

我的目标只是根据 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>
4

1 回答 1

1

Resource由于您提到的所有这些问题,我完全反对将 ViewModel 或数据作为XAML 放入。

相反,要么分配DataContext后面的代码:

public SomeWindow() //Window Constructor
{
    DataContext = new SomeViewModel();
}

或使用ViewModelLocator

或使用此处RegisterDataTemplate概述的方法。


无论如何,如果您想快速解决此问题,请将您的list_of_signalsfrom更改List<T>ObservableCollection<T>

于 2013-06-07T19:44:29.430 回答