Замените ваш rounded_edittext.xml следующим кодом:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape
android:shape="rectangle">
<solid android:color="@android:color/darker_gray" />
<corners android:radius="27.5dp"/>
</shape>
</item>
<item android:right="1dp" android:left="1dp" android:bottom="2dp">
<shape
android:shape="rectangle">
<solid android:color="#FFFFFF"/>
<corners
android:radius="27.5dp"/>
<stroke android:color="#66000000" android:width="0.5dp"/>
</shape>
</item>
Также замените android:elevation="20dp"
из EditText на android:elevation="4dp"
Причина это конкретное исключение выдается, состоит в том, что к содержанию элемента относятся набор Объектов ListView. Таким образом, XAML инициализирует ListView с единственным local:ImageView в его наборе Объектов. Но при использовании ItemsControl необходимо использовать или свойство Items или свойство ItemsSource, Вы не можете использовать обоих одновременно. Следовательно, когда атрибут ItemsSource обрабатывается, исключение выдается.
Можно узнать, какое свойство к содержанию элемента будут относиться путем поиска ContentPropertyAttribute на классе. В этом случае это определило выше в иерархии классов на ItemsControl:
[ContentPropertyAttribute("Items")]
Намерение здесь состояло в том, что Представление ListView было установлено на local:ImageView, таким образом, фиксация должна явно указать на свойство, которое будет установлено.
Зафиксируйте XAML, и исключение уходит:
<ListView Name="ListViewImages"
SelectionMode="Single"
ItemsSource="{Binding}">
<ListView.View>
<local:ImageView />
</ListView.View>
</ListView>
Это пропускало это <ListView.View>
тег.
Некоторое время у меня возникала та же ошибка в немного другом сценарии. У меня был
<wpftoolkit:DataGrid
AutoGenerateColumns="False"
ItemsSource="{Binding Path=Accounts}" >
<wpftoolkit:DataGridTextColumn
Header="Account Name"
Binding="{Binding Path=AccountName}" />
</wpftoolkit:DataGrid>
, который я установил как
<wpftoolkit:DataGrid
AutoGenerateColumns="False"
ItemsSource="{Binding Path=Accounts}" >
<wpftoolkit:DataGrid.Columns>
<wpftoolkit:DataGridTextColumn
Header="Account Name"
Binding="{Binding Path=AccountName}" />
</wpftoolkit:DataGrid.Columns>
</wpftoolkit:DataGrid>
Мне тоже на другом сценарии.
<ComboBox Cursor="Hand" DataContext="{Binding}"
FontSize="16" Height="27" ItemsSource="{Binding}"
Name="cbxDamnCombo" SelectedIndex="0" SelectedValuePath="MemberId">
<DataTemplate>
<TextBlock DataContext="{Binding}">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} / {1}">
<Binding Path="MemberName"/>
<Binding Path="Phone"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ComboBox>
Теперь, когда вы в комплекте с отсутствующим тегом Control.itemTemplate , все попадает в нормальное:
<ComboBox Cursor="Hand" DataContext="{Binding}"
FontSize="16" Height="27" ItemsSource="{Binding}"
Name="cbxDamnCombo" SelectedIndex="0" SelectedValuePath="MemberId">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock DataContext="{Binding}">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} / {1}">
<Binding Path="MemberName"/>
<Binding Path="Phone"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
<ComboBox.ItemTemplate>
</ComboBox>
В моем случае это была просто дополнительная StackPanel внутри ListView:
<ListView Name="_details" Margin="50,0,50,0">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Location.LicenseName, StringFormat='Location: {0}'}"/>
<TextBlock Text="{Binding Ticket.Employee.s_name, StringFormat='Served by: {0}'}"/>
<TextBlock Text="{Binding Ticket.dt_create_time, StringFormat='Started at: {0}'}"/>
<Line StrokeThickness="2" Stroke="Gray" Stretch="Fill" Margin="0,5,0,5" />
<ItemsControl ItemsSource="{Binding Items}"/>
</StackPanel>
</StackPanel>
</ListView>
Становится:
<ListView Name="_details" Margin="50,0,50,0">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Location.LicenseName, StringFormat='Location: {0}'}"/>
<TextBlock Text="{Binding Ticket.Employee.s_name, StringFormat='Served by: {0}'}"/>
<TextBlock Text="{Binding Ticket.dt_create_time, StringFormat='Started at: {0}'}"/>
<Line StrokeThickness="2" Stroke="Gray" Stretch="Fill" Margin="0,5,0,5" />
<ItemsControl ItemsSource="{Binding Items}"/>
</StackPanel>
</ListView>
и все в порядке.