Exemplo n.º 1
0
        //4. SET COMBO DATA SOURCE AND VALUE

        //Listing 19-10. ComboBox Code File

        //        private void SetContentDataBinding()
        //        {
        //            if (!String.IsNullOrEmpty(ComboDisplayItem))
        //            {
        //                string str = @"<DataTemplate
        //            xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">
        //            <TextBlock Text=""{Binding " + ComboDisplayItem + @"}"" />
        //              </DataTemplate>";

        //                Combo.ItemTemplate = (DataTemplate)XamlReader.Load(str);

        //                Binding selectedBinding = new Binding("Value");
        //                selectedBinding.Mode = BindingMode.TwoWay;
        //                Combo.SetBinding(
        //                  System.Windows.Controls.ComboBox.SelectedValueProperty,
        //                  selectedBinding);
        //            }
        //        }


        //Listing 19-12. ComboBox Control Code
        private void SetContentDataBinding()
        {
            if (ContentItem != null)
            {
                IEntityType entityType = ContentItem.ResultingDataType as IEntityType;
                if (ContentItem != null)
                {
                    string displayProperty = ComboDisplayItem;
                    if (string.IsNullOrEmpty(displayProperty))
                    {
                        displayProperty =
                            CustomEditorHelper.GetSummaryProperty(entityType).Name;
                    }

                    if (!string.IsNullOrEmpty(displayProperty))
                    {
                        string str = @"<DataTemplate
              xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">
                   <TextBlock Text=""{Binding " +
                                     displayProperty + @"}"" /> </DataTemplate>";

                        Combo.ItemTemplate = (DataTemplate)XamlReader.Load(str);

                        Binding selectedBinding = new Binding("Value");
                        selectedBinding.Mode = BindingMode.TwoWay;
                        Combo.SetBinding(
                            System.Windows.Controls.ComboBox.SelectedValueProperty,
                            selectedBinding);
                    }
                }
            }
        }