我希望有人能够帮助我。我从昨天起就一直在这里,无处可去。
我有一个数据网格,其中包含一个共享列表,共享是一种类型 每个共享包含一个包含最近30天共享历史记录的列表。 我想在图表中显示所选项目历史记录。
我不知道是否可以直接将图形绑定到数据网格,但不认为这对我有用,因为我的下一步是允许多个选择并将它们全部绘制在一个图形上。
我作为测试尝试的最新内容是:
String test =((Share)ShareGrid.Items [ShareGrid.SelectedIndex])。Ticker;
给出错误 {“无法将'Share'类型的对象转换为'ProjectMain.Share'类型。”} ProjectMain是我的命名空间
我也试过
Share test = ShareGrid.SelectedItem为Share;
测试只是保持为空。
我已经围绕这些主题尝试了很多事情,但显然缺少一些东西,所以任何帮助都会受到高度赞赏。
感谢。
乔
更多细节: 我按如下方式绑定投资组合列表框:
PortfolioListBox.ItemsSource = MainWindow.LoggedOnUser.Portfolio;
PortfolioListBox.SelectedIndex = 0;
我根据投资组合列表框绑定共享网格,如下所示:
private void PortfolioListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
listPortfolio = (PortfolioListBox.SelectedItem as Portfolio);
ShareGrid.ItemsSource = listPortfolio.Share;
ShareGrid.SelectedIndex = 0;
}
投资组合列表框的XML是:
<ListBox Name ="PortfolioListBox"
DisplayMemberPath="name"
SelectionChanged="PortfolioListBox_SelectionChanged"
DataContext="{Binding Path=SelectedItem}"/>
为Share网格设置的xml如下:
<DataGrid AutoGenerateColumns="False" Height="Auto" HorizontalAlignment="Left"
Name="ShareGrid" VerticalAlignment="Top" SelectionMode="Extended"
SelectionUnit="FullRow" SelectionChanged="ShareGrid_SelectionChanged"
CanUserResizeRows="False" CanUserResizeColumns="False" FrozenColumnCount="1"
FontSize="16" IsReadOnly="True" DataContext="{Binding Path=SelectedItem}">
答案 0 :(得分:0)
假设选择了一个项目,这应该有效。
Share test = ShareGrid.SelectedItem as Share;
您测试是使用
选择的项目 ShareGrid.SelectedIndex >= 0
如果未选择任何项目,则SelectedIndex将为-1