コード例 #1
0
        private void AddDecision(DecisionPossibilities p)
        {
            int            t = x_decisions.Children.Count - 1;
            SingleDecision d = new SingleDecision();

            x_decisions.Children.Insert(t, d);
            x_remove_decision.IsEnabled = true;
            DecisionCreator dc = DataContext as DecisionCreator;

            InitCrossroad(d, dc, p);
        }
コード例 #2
0
        private void DecisionWriteBox_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            // Buttons for decisions restorations
            DecisionCreator dc = (DataContext as DecisionCreator);
            DecisionData    d  = dc.Data;

            InitCrossroad(x_first_decision, dc, d.Posibilities[0]);
            for (int i = 1; i < d.Posibilities.Count; i++)
            {
                AddDecision(d.Posibilities[i]);
            }
        }
コード例 #3
0
        private void InitCrossroad(SingleDecision sd, DecisionCreator dc, DecisionPossibilities p)
        {
            DecisionData d = dc.Data;

            sd.DataContext                   = p;
            sd.x_crossroad.ItemsSource       = dc.Outcomes;
            sd.x_crossroad.DisplayMemberPath = "Name";
            int selected = dc.Outcomes.FindIndex(x => p.Id == x.Id);

            if (selected < 0)
            {
                return;
            }
            sd.x_crossroad.SelectedItem = dc.Outcomes[selected];
        }