XMAL代码
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<dxg:GridControl x:Name="grid" AutoPopulateColumns="True" ScrollViewer.CanContentScroll="True">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Id"/>
<dxg:GridColumn FieldName="Name"/>
<dxg:GridColumn FieldName="Bool"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView Name="view" WheelScrollLines="1">
</dxg:TableView>
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
.cs代码
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
grid.ItemsSource = new ObservableCollection<Person> {
new Person { Id = 1, Name = "Name1", Bool = true },
new Person { Id = 2, Name = "Name2", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
new Person { Id = 3, Name = "Name3", Bool = true },
};
view.Loaded += new RoutedEventHandler(view_Loaded);
}
VisualTreeEnumerator en;
ScrollViewer vs;
void view_Loaded(object sender, RoutedEventArgs e)
{
en = new VisualTreeEnumerator(view);
while (en.MoveNext())
{
ScrollViewer v = en.Current as ScrollViewer;
if (v != null)
{
vs = v;
v.ScrollChanged += new ScrollChangedEventHandler(v_ScrollChanged);
}
}
}
string aa = "";
void v_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
xxxx.Title = vs.ContentVerticalOffset.ToString();
}
}
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public bool Bool { get; set; }
}