<Window x:Class="WPfDataGrid.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="450" Width="525" Loaded="Window_Loaded">
<Grid>
<DataGrid x:Name="dgrdEmployee" Width="300" Height="300" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"/>
<Button Content="Navigation" x:Name="BtnNavigation" Width="90" Height="40" Margin="204,336,209,-15" />
</Grid>
</Window>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public class Employees
{
public string Name { get; set; }
public string Id { get; set; }
public string Address { get; set; }
}
public List<Employees> EmployeeList()
{
XDocument employees = XDocument.Load(@"C:\Employees.xml");
List<Employees> employee = (from em in employees.Descendants("Employee")
select new Employees
{
Name = em.Element("Name").Value,
Id = em.Element("Id").Value,
Address = em.Element("Address").Value
}).ToList();
return employee;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
dgrdEmployee.ItemsSource = EmployeeList();
}
}
使用上面的代码,我得到以下结果。
如果数据网格滚动查看器可见,则按钮应该可见,否则按钮应该折叠。这样做有什么变化吗?
我尝试过类似下面的内容。但这对我来说没有意义。
<Button Content="Navigation" x:Name="BtnNavigation" Visibility="{Binding Visibility, ElementName=dgrdEmployee.ScrollViewer}" Width="90" Height="40" Margin="204,336,209,-15" />
答案 0 :(得分:-1)
ScrollViewer
始终可见。 ScrollViewer
将根据显示的数据显示或隐藏其滚动条。
假设您可以访问VerticalScrollBarVisiblity
的{{1}}和HorizontalScrollBarVisiblity
属性,您可以在这些属性和按钮{{1}之间创建MultiBinding属性。您可能还需要创建value converter,因为滚动条可见性属性使用不同的类型(除标准可见性值外还包含ScrollViewer
值)。