UWPコンボボックスがStackOverflowExceptionを生成しています。UWPコンボボックスのStackOverflowException
<Grid Name="CutoutsGrid"
<ListView
<ComboBox
ItemsSource="{x:Bind CutoutsList}"
SelectedItem="{x:Bind CutShape,Mode=TwoWay}"
/>
</ListView>
</Grid>
CutShapeとCutoutsListは、以下から選択する5つの切り欠きを返しCutoutsListビューモデル
public class ViewModel : ViewModelBase
{
string _CutShape = default(string);
public string CutShape { get { return _CutShape; } set { Set(ref _CutShape, value); } }
public List<Cutout> CutoutsList { get { return MatboardService.GetCutoutsList(); } }
に定義されています。
public class Cutout : BindableBase
{
string _ItemCode = default(string);
public string ItemCode { get { return _ItemCode; } set { Set(ref _ItemCode, value); } }
string _ItemDescription = default(string);
public string ItemDescription { get { return _ItemDescription; } set { Set(ref _ItemDescription, value); } }
decimal _MinutesLabor = default(decimal);
public decimal MinutesLabor { get { return _MinutesLabor; } set { Set(ref _MinutesLabor, value); } }
}
StackOverflowExceptionがこのブロックvalue == ""
とtargetNullValue == null
で
public static void Set_Windows_UI_Xaml_Controls_Primitives_Selector_SelectedItem(global::Windows.UI.Xaml.Controls.Primitives.Selector obj, global::System.Object value, string targetNullValue)
{
if (value == null && targetNullValue != null)
{
value = (global::System.Object) global::Windows.UI.Xaml.Markup.XamlBindingHelper.ConvertValue(typeof(global::System.Object), targetNullValue);
}
obj.SelectedItem = value;
}
Page.g.cs
で起こります。例外は、コンボボックスは、グリッド内のリストビューであるが、例外は、しかし、私が停止する前に、(I 60を数え、多く続いてpublic List<Cutout> CutoutsList { get { return MatboardService.GetCutoutsList(); } }
の最初の呼び出し時に発生した行にobj.SelectedItem = value;
を発生しますカウントする)
Set_Windows_UI_Xaml_Controls_Primitives_Selector_SelectedItem
なぜこのコンボボックスはStackOverflowExceptionを引き起こしますか?
バインディングへの変更はすべてかかりました。ありがとう@Mikael Koskinen – Vague