Я относительно новичок в OOD, C #, WPF, но пытаюсь учиться. Итак, у меня есть основной XAML, в котором есть несколько элементов управления. Одним из элементов управления является DataGrid (dtGrid). DataGrid имеет свой собственный код и имеет несколько методов для своего класса. Я пытаюсь создать событие, когда прокрутка выполняется по горизонтали. У меня есть это:
private void dtGrid_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
if (e.HorizontalChange != 0)
{
// update some stuff to main XAML
}
}
Я не вижу, как dtGrid имеет какую-либо видимость основного XAML. Поскольку dtGrid (элемент управления DataGrid) имеет собственный код, в который я поместил этот метод, я не имею ссылки на другие элементы управления, которые находятся в основном XAML по их Имени. Есть ли способ обойти это? Спасибо.
Изменить: Дополнительный код и некоторые псевдо-код для краткости
Итак, мой основной класс, который имеет основной XAML:
<UserControl>
<GroupBox Header="Sample" Grid.Row="2" Margin="5, 0, 5, 0" FontSize="12" FontFamily="Arial" FontWeight="Bold">
<View:SampleControl x:Name="SampleControl" Background="Transparent" />
</GroupBox>
</UserControl>
У меня есть код за этим XAML, где мне нужно выполнить обновление другого объекта при изменении прокрутки. Тем не менее, у меня есть проблема, у меня есть другой XAML для SampleControl, который:
<some UserControl and the namespaces>
<DataGrid x:Name="dtGridReads" AutoGenerateColumns="False"
VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.VirtualizationMode ="Standard"
EnableColumnVirtualization="False"
EnableRowVirtualization="False"
ScrollViewer.IsDeferredScrollingEnabled="True"
CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserSortColumns="True"
ItemsSource ="{Binding}" Block.TextAlignment="Center"
CanUserAddRows="False" CanUserDeleteRows="False" FrozenColumnCount="1"
GridLinesVisibility="None" FontFamily="Arial" FontSize="10" Background="White"
ScrollViewer.ScrollChanged="dtGridReads_ScrollChanged" >
а затем у меня есть код позади этого XAML. Поэтому я не уверен, куда все идет и кто с кем может общаться.