Tôi đang cố gắng hiển thị/ẩn các cột của một DataGrid thông qua menu ngữ cảnh. Tôi đã cố gắng sử dụng các ràng buộc cho nó, với XAML này:Khả năng hiển thị liên kết với mục menu có thể kiểm tra hiển thị lỗi "Nhà cung cấp dịch vụ đang thiếu dịch vụ INameResolver" trong WPF
<Grid>
<DataGrid AutoGenerateColumns="False" Name="dataGrid1">
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Header="Show Column 1" IsCheckable="True"
x:Name="showcol1" IsChecked="True" />
<MenuItem Header="Show Column 2" IsCheckable="True"
x:Name="showcol2" IsChecked="False" />
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.Columns>
<DataGridTextColumn Header="Col 0" />
<DataGridTextColumn Header="Col 1"
Visibility="{Binding ElementName=showcol1,
Converter={StaticResource BooleanToVisibilityConverter},
Path=IsChecked}" />
<DataGridTextColumn Header="Col 2"
Visibility="{Binding ElementName=showcol2,
Converter={StaticResource BooleanToVisibilityConverter},
Path=IsChecked}" />
</DataGrid.Columns>
</DataGrid>
</Grid>
Tôi thậm chí đã thử nghiệm với các tùy chọn khác, chẳng hạn như BindsDirectlyToSource=True
và UpdateSourceTrigger=PropertyChanged
. Tuy nhiên, các cột không thay đổi khả năng hiển thị của chúng khi tôi kiểm tra/bỏ chọn menuitems. Tôi đang làm gì sai? Điều này thực sự có thể có trong XAML thuần túy?
Trong câu hỏi this, câu trả lời sử dụng x:Reference
. Tôi cũng đã thử điều đó nhưng đã nhận được lỗi
Nhà cung cấp dịch vụ thiếu dịch vụ INameResolver.
Google đã nói với tôi rằng đây là lỗi trong VS2010? Tôi có thể làm gì để giải quyết vấn đề này? Hay là cú sút tốt nhất của tôi để chuyển sang VS2012?
cuốn sách đó hiện đang được bán ở đây. Tôi biết tôi nên đợi cho đến khi nó đến;) cảm ơn bạn! Tôi gặp vấn đề mà nhà thiết kế từ chối làm việc miễn là vấn đề không được giải quyết - bạn có thể xác nhận điều này và có thể đưa ra cách khắc phục điều đó không? – CBenni
Tôi không nghĩ rằng đây là một vấn đề nghiêm trọng. 'Microsoft' không sửa lỗi và tệ hơn :). Nếu tôi không nhầm, họ thậm chí không nhận ra nó vì lỗi, vì vậy sửa chữa có thể chờ đợi một thời gian dài. Cá nhân tôi sử dụng 'x: Tham chiếu' trong các dự án và các vấn đề của họ không được quan sát. –
Nó hiển thị thông báo "InvalidOperationException được ném vào 'Tham chiếu': Nhà cung cấp dịch vụ thiếu dịch vụ INameResolver. Nhấp vào đây để xem chi tiết." trong tab thiết kế. Tôi không thể sử dụng các nhà thiết kế ở tất cả, bởi vì nó bị vô hiệu hóa. Tôi sẽ xóa tham chiếu cho đến khi tôi hoàn thành dự án – CBenni