참고 : 이것은 Xamarin 양식 용입니다. 중복 것으로 여겨지는 질문은 C# ListView를 실제로 처리하는 것입니다.Xamarin 양식 목록보기 : 목록 항목에 명령 추가
목록보기 (Mac Xamarin Forms 용 Visual Studio 2017을 사용하는 크로스 플랫폼) 데이터 바인딩에 대한 대략적인 이해가 있으므로 형식이 있습니다. 웹 서비스에서 데이터를로드하는 방법. 이제 표시된 각 행에 대해 몇 가지 작업을 수행하여 각 항목에 대한 ListView에 단추를 포함합니다. 내가 선택한 행에 대한 일부 기능을 수행 할 수 있도록 작업을 추가하는 방법을 얻을 수 없습니다. 나의 이해에서
void handle_prayupbutton_action()
{
}
public Command _handle_prayupbutton_action
{
get { return new Command(() => handle_prayupbutton_action());
}
다음을 트리거 당신이 Command
를 만들 : 나는 다음과 같은 방법을 뒤에 코드에서
<Button x:Name="prayUpButton" Command="{Binding _handle_prayupbutton_action}" Text="PU" Grid.Row="4" Grid.Column="0" />
: ListView에에서
나는 이런 식으로 버튼을 생성 동작. 내가 여기서 무엇을 놓치고 있니?void handle_prayupbutton_action()
에 중단 점을 넣으면 절대로 안타깝습니다.
Xamarin Forms 크로스 플랫폼 목록보기에 작업을 추가하는 가장 좋은 방법/올바른 방법은 무엇입니까?
UPDATE 1 :이에 아래의 코드를 변경 : 나는 또한 만든
<Button x:Name="prayUpButton" Command="{Binding Source={x:Static local.PrayersPagePage._handle_prayupbutton_action}}" Text="Pray Up" Grid.Row="4" Grid.Column="0" />
:
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="prayupapp.Pages.PrayersPage" x:Name="PrayersPagePage">
그래서 내가 버튼 명령을 변경 : 이것은 내 헤더
입니다 줄리 판 (Julipan)과 같은 명령 루틴은 정적 (Static)이라고 제안했다. 이전에는 목록보기가 이전 페이지에서 로딩을 중단했기 때문에 실제로 회귀했습니다. 단추 코드 명령을 원래 코드 (분명히 잘못됨)로 반환하면 작동한다는 것을 알았습니다. 제가 바인딩을하는 방식에 문제가 있습니다. 당신이해야 할 모든 코드가 뒤에 버튼의 명령 속성 명령의 바인드하는 경우
[ListView에서 레코드를 선택하고 코드 숨김 메소드에서이를 참조하려면 어떻게합니까?] (https://stackoverflow.com/questions/47823693/how-can-i-select-a-record) -in-a-listview-and-the-code-behind-meth) –
코드 숨김이라고하면 Xaml.cs 파일을 참조하는 것입니까? 바인딩을 사용하려면 뷰의 BindingContext를 다른 클래스 (ViewModel)로 설정하고 거기에 명령을 배치해야합니다. https://developer.xamarin.com/guides/xamarin-forms/xaml/xaml-basics/data_bindings_to_mvvm/ 대부분을 다룹니다 –
바인딩 컨텍스트를 ListView 또는 Page에 설정 했습니까? Item의 BindingContext는 항목 자체입니다. 따라서 항목 셀 내에서 바인딩을 사용하면 항목 수준에서 바인딩 속성에 액세스 할 수 있어야합니다. 이해하니? –