как добавить флажок в списке с помощью форм xamarin - PullRequest
0 голосов
/ 26 марта 2019

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

<ContentPage.Content>
    <ListView  x:Name="ProductsListView">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <ViewCell.View>
                        <StackLayout Spacing="0">
                            <Label Text="{Binding retail_modified_item_id}" 
                               TextColor="Blue" FontSize="13" />
                            <Label Text="{Binding name, StringFormat='Name : 
                               {0:N}'}" TextColor="black" FontSize="10"  />
                            <Label Text="{Binding retail_price, 
                               StringFormat='Price : {0:N}'}" 
                               TextColor="black" FontSize="10" />
                        </StackLayout>
                    </ViewCell.View>
                </ViewCell>                            
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</ContentPage.Content>

мой вывод; вывод без флажка

я попробовал пример кода из https://www.ignatiuz.com/blog/xamarin/button-check-box-with-list-item-in-xamarin-forms-listview/

но я получаю ввод: флажок не найден

Я новичок в xamarin, приведите пример кода или ссылку, чтобы сделать это

Ответы [ 3 ]

1 голос
/ 26 марта 2019

Вы можете использовать Plugin.InputKit от Nuget.

Использование

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:xxx"
             xmlns:input="clr-namespace:Plugin.InputKit.Shared.Controls;assembly=Plugin.InputKit"
             x:Class="xxx.MainPage">


<ContentPage.Content>
 <ListView  x:Name="ProductsListView">
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <ViewCell.View>
                    <StackLayout Spacing="0">
                        <Label Text="{Binding retail_modified_item_id}" 
                           TextColor="Blue" FontSize="13" />
                        <Label Text="{Binding name, StringFormat='Name : 
                           {0:N}'}" TextColor="black" FontSize="10"  />
                        <Label Text="{Binding retail_price, 
                           StringFormat='Price : {0:N}'}" 
                           TextColor="black" FontSize="10" />
                        <input:CheckBox Text="xxx" Type="Check"/>  
                    </StackLayout>
                </ViewCell.View>
            </ViewCell>                            
        </DataTemplate>
    </ListView.ItemTemplate>
 </ListView>
</ContentPage.Content>        

</ContentPage>
0 голосов
/ 26 марта 2019

Если вам нужно иметь флажки внутри списка, вы можете использовать Xamarin.Forms.InputKi (https://github.com/enisn/Xamarin.Forms.InputKit)

. Тогда я бы определил это так внутри ViewCell объекта DataTemplate:

 <input:CheckBox Text="Hello World I'm Option 2" Type="Check"/>

Существуют также свойства и события Bindable, которые можно использовать в зависимости от сценария:

CheckChanged: (событие) Вызывается при изменении проверки.

CheckChangedCommand: (команда) Команда Bindable, выполняется при изменении проверки.

Ключ: (int) Ключ, который можно установить для определения флажков как идентификатора.

Текст: (строка) Текст для отображения описания

IsChecked: (bool) Флажок проверен. Работает Двухстороннее связывание по умолчанию.

Цвет: (Цвет) Цвет выбранной проверки.

TextColor: (Цвет) Цвет текста описания.

Тип: (CheckType) Тип помеченного флажка стиля (Check, Cross, Star, Box и т. Д.)

0 голосов
/ 26 марта 2019

Я написал материал по реализации просмотра списка с несколькими выборками в формах xamarin. Пожалуйста, проверьте это: https://androidwithashray.blogspot.com/2018/03/multiselect-list-view-using-xamarin.html

Надеюсь, это поможет.

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