현재 ObservableCollection에 바인딩 된 템플릿 선택기가있는 사용자 지정 ViewCell이 있습니다. Ive는 사용자 정의 셀 템플릿을 내 Xamarin.Forms IOS ListView에 바인딩합니다.Xamarin.Forms ListView with CustomViewCell 사용 안 함 선택된 항목 색
내 문제는 내가 선택한 항목의 강조 표시를 사용하지 못할 것입니다 내가 MenuContext 작업을 통해 선택한 항목을 복제하는 경우, 회색 색상은
필자는 난에 발견 된 모든 사용자 정의 렌더러를 시도했다 .... 나타납니다 인터넷 :) 거의 포기하고있는 것 같아서이 문제를 해결할 수없는 것처럼 보입니다. 어쩌면 누군가 내게 정보를 줄 수 있습니다.아마도 잘못된 맞춤 렌더러를 사용하고 있습니다. 이 문제에 대한 렌더러가 필요합니까?
ViewCellRenderer
[assembly: ExportRenderer(typeof(GerätViewCell), typeof(NativeViewCellRenderer))]
namespace LindeXF.iOS.Renderer {
public class NativeViewCellRenderer : ViewCellRenderer {
public override UITableViewCell GetCell(Cell item, UITableViewCell reusableCell, UITableView tv) {
var cell = base.GetCell(item, reusableCell, tv);
if (cell != null)
cell.SelectionStyle = UITableViewCellSelectionStyle.None;
return cell;
}
}
}
사용자 정의 ViewCell
<ViewCell xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="LindeXF.Core.CustomTemplates.GerätViewCell"
>
<ViewCell.ContextActions>
<MenuItem x:Name="MenuItemDuplizieren"
CommandParameter="{Binding Id}"
Clicked="OnDuplizierenClicked"
Text="Duplizieren" />
<MenuItem x:Name="MenuItemLöschen"
CommandParameter="{Binding Id}"
Clicked="OnLöschenClicked"
Text="Löschen"
IsDestructive="True" />
</ViewCell.ContextActions>
<Grid ColumnSpacing="0" BackgroundColor="White">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="9*"/>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="10*"/>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="18*"/>
<ColumnDefinition Width="10*"/>
<ColumnDefinition Width="10*"/>
</Grid.ColumnDefinitions>
<BoxView BackgroundColor="{Binding BoxColor}" Grid.Column="0"/>
<Label FontSize="14" HorizontalTextAlignment="Center" VerticalTextAlignment="Center" Text="{Binding Test}" Grid.Column="1"/>
<Label FontSize="14" HorizontalTextAlignment="Center" VerticalTextAlignment="Center" Text="{Binding Test}" Grid.Column="2"/>
<Label FontSize="14" HorizontalTextAlignment="Center" VerticalTextAlignment="Center" Text="{Binding Test}" Grid.Column="3"/>
<Label FontSize="14" HorizontalTextAlignment="Center" VerticalTextAlignment="Center" Text="{Binding Test}" Grid.Column="4"/>
<Label FontSize="14" HorizontalTextAlignment="Center" VerticalTextAlignment="Center" Text="{Binding Test}" Grid.Column="5"/>
<Label FontSize="14" HorizontalTextAlignment="End" Margin="0,0,5,0" VerticalTextAlignment="Center" Text="{Binding Test}" Grid.Column="6"/>
<Label FontSize="14" HorizontalTextAlignment="End" Margin="0,0,5,0" VerticalTextAlignment="Center" Text="{Binding Test}" Grid.Column="7"/>
</Grid>
</ViewCell>
ListView에
<ListView x:Name="ListViewKalkulation"
Margin="1,0,1,1"
ItemTapped="ListViewKalkulationText_OnItemTapped"
ItemTemplate="{StaticResource TemplateSelector}"
ChildAdded="ListViewKalkulation_OnChildAdded"
ItemSelected="ListViewKalkulation_OnItemSelected"
SeparatorVisibility="None"
BackgroundColor="Silver"
Grid.Row="1" />
시간 내 주셔서 감사합니다!
안녕하세요, 어쩌면 당신은 당신이 당신의 viewcell 렌더링 손님하려는 이유를 언급 좋을 것이다 문제에 대한 자세한 informtation을 제공합니다. 유스 케이스 시나리오가 좋을 것입니다 :) – BraveHeart
Hej, 미안 해요. 문제가 분명하다고 생각했습니다. :) Listview 항목의 강조 표시를 사용하지 않을 것입니다. (생각하지 않은 추한 회색 색상) 생각하고있었습니다. 아마 내 목록보기 항목으로보기 셀을 사용하기 때문에 가능하지 않습니다 –