Action的一个使用场景

mac2025-03-23  15

多个父界面 local 另一界面,子界面中的点击事件需要调用父界面中的查询函数,不同的父中的查询函数不一样。

父1 ocal 子界面,子界面则调用父1的查询函数;父2 local子界面,子界面则调用父2的查询函数

GridEmbedControl.xaml <Grid>     <Viewbox Stretch="Fill">         <Border Width="1166" Height="630">             <Grid>                 <Grid.RowDefinitions>                     <RowDefinition Height="30"></RowDefinition>                     <RowDefinition Height="*"></RowDefinition>                 </Grid.RowDefinitions>                                  <Button Padding="15,0" Margin="370,4,710,0" Content="打印" FontFamily="Microsoft YaHei" Click="BtnSlice_Click" RenderTransformOrigin="0.5,0.5" Height="33" VerticalAlignment="Top" Grid.Row="1"></Button>

                <local:PagingDataGrid x:Name="pagingGrid" Grid.Row="1" SelectionMode="Extended" Margin="0,37,0,0"></local:PagingDataGrid>             </Grid>         </Border>     </Viewbox> </Grid>

GridEmbedControl.cs public partial class GridEmbedControl {     public GridEmbedControl(AppContext Context) : base(Context)     {         InitializeComponent();         pagingGrid.Query = Query;     }     public void Query(int index = 1)     {         内容1;     } }

GridSliceControl.xaml <Grid>     <Viewbox Stretch="Fill">         <Border Width="1166" Height="630">             <Grid>                 <Grid.RowDefinitions>                     <RowDefinition Height="30"></RowDefinition>                     <RowDefinition Height="*"></RowDefinition>                 </Grid.RowDefinitions>                                  <Button Padding="15,0" Margin="370,4,710,0" Content="打印" FontFamily="Microsoft YaHei" Click="BtnSlice_Click" RenderTransformOrigin="0.5,0.5" Height="33" VerticalAlignment="Top" Grid.Row="1"></Button>

                <local:PagingDataGrid x:Name="pagingGrid" Grid.Row="1" SelectionMode="Extended" Margin="0,37,0,0"></local:PagingDataGrid>             </Grid>         </Border>     </Viewbox> </Grid>

GridSliceControl.cs public partial class GridSliceControl {     public GridEmbedControl(AppContext Context) : base(Context)     {         InitializeComponent();         pagingGrid.Query = Query;     }     public void Query(int index = 1)     {         内容2;     } }

PagingDataGrid.cs public partial class PagingDataGrid : UserControl, INotifyPropertyChanged {     public Action<int> Query;     public PagingDataGrid()     {         InitializeComponent();     }     private void First_Click(object sender, RoutedEventArgs e)     {         Query(PagedTable.PageIndex);     } }  

 

最新回复(0)