Не удается получить CheckBox x: Ошибка имени в Xamarin - PullRequest
0 голосов
/ 29 марта 2020

У меня есть флажок в сетке данных, но его имя x: не доступно в коде позади. У меня есть другие x: имена, которые доступны, но только флажок, который я не могу получить. Вот мой код xaml

<!--Shift-->

<syncfusion:GridTemplateColumn 
AllowSorting="False"
MinimumWidth="100"
HeaderFontAttribute="Bold"
HeaderText="Shift"
MappingName = "Shift">

<syncfusion:GridTemplateColumn.CellTemplate>
<DataTemplate>
<StackLayout
IsVisible="{Binding IsShiftEnabled}"
Orientation="Horizontal">

<CheckBox
x:Name="CheckboxShift"
HorizontalOptions="CenterAndExpand"
IsChecked = "{Binding Shift}" 
CheckedChanged="CheckBox_CheckedChanged"
BindingContext="{Binding EmployeeNo}"/>

<Image
Source = "{Binding ShiftIcon}"
HorizontalOptions="End"
VerticalOptions="Start"
Margin="0,3,5,0"
WidthRequest="12"
HeightRequest="12"/>
</StackLayout>

</DataTemplate>

</syncfusion:GridTemplateColumn.CellTemplate>
</syncfusion:GridTemplateColumn> 

И код позади

private void CheckBox_CheckedChanged(object sender, CheckedChangedEventArgs e)
{
  if(CheckboxShift.Checked)
{
   //Code
 }

1 Ответ

0 голосов
/ 29 марта 2020

используйте аргумент sender

private void CheckBox_CheckedChanged(object sender, CheckedChangedEventArgs e)
{
  var ck = (CheckBox)sender;

  if(ck.Checked)
  {
     //Code
  }
}

поочередно, узнайте, как использовать привязку данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...