Note that there are some explanatory texts on larger screens.

plurals
  1. POObject of type 'System.Windows.Data.Binding' cannot be converted to type 'System.String'
    primarykey
    data
    text
    <p>I wonder if anyone can help. I have been banging my head against this problem for half a day now, I must be doing something wrong. I have a custom control with a number of dependency properties. </p> <pre><code>[TemplatePart(Name = InformationBubble.InformationBubbleTitlePart, Type = typeof(TextBlock))] [TemplatePart(Name = InformationBubble.InformationBubbleProductImagePart, Type=typeof(Image))] public class InformationBubble : Control { #region Template Parts Name Constants /// &lt;summary&gt; /// Name constant for the Information Bubble Title Part /// &lt;/summary&gt; public const string InformationBubbleTitlePart = "InformationBubbleTitleText"; /// &lt;summary&gt; /// Name constant for the Information Bubble Product Image Part /// &lt;/summary&gt; public const string InformationBubbleProductImagePart = "InformationBubbleProductImage"; #endregion #region TemplateParts private TextBlock _Title; internal TextBlock Title { get { return _Title; } private set { _Title = value; if (_Title != null) { _Title.Text = this.ProductTitleText; } } } private Image _ProductImage; internal Image ProductImage { get { return _ProductImage; } private set { _ProductImage = value; if (_ProductImage != null) { _ProductImage.Source = this.ProductImageSource; } } } #endregion #region Public String Product Title // Dependency properties declaration public static readonly DependencyProperty ProductTitleProperty = DependencyProperty.Register( "ProductTitle", typeof(string), typeof(InformationBubble), new PropertyMetadata(string.Empty, new PropertyChangedCallback(OnProductTitleChanged))); public static void OnProductTitleChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { InformationBubble iBubble = sender as InformationBubble; if (iBubble.Title != null) { iBubble.Title.Text = e.NewValue as string; } } public string ProductTitleText { get { return GetValue(ProductTitleProperty) as string; } set { SetValue(ProductTitleProperty, value); } } #endregion #region Public Image Source Product Image public static readonly DependencyProperty ProductImageSourceProperty = DependencyProperty.Register( "ProductImageSource", typeof(ImageSource), typeof(InformationBubble), new PropertyMetadata(null, new PropertyChangedCallback(OnProductImageSourceChanged))); public static void OnProductImageSourceChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { InformationBubble iBubble = sender as InformationBubble; if (iBubble.ProductImage != null) { iBubble.ProductImage.Source = e.NewValue as ImageSource; } } public ImageSource ProductImageSource { get { return GetValue(ProductImageSourceProperty) as ImageSource; } set { SetValue(ProductImageSourceProperty, value); } } #endregion public InformationBubble() { this.DefaultStyleKey = typeof(InformationBubble); } #region Overrides public override void OnApplyTemplate() { base.OnApplyTemplate(); Title = GetTemplateChild(InformationBubble.InformationBubbleTitlePart) as TextBlock; ProductImage = GetTemplateChild(InformationBubble.InformationBubbleProductImagePart) as Image; } #endregion #region Private Methods private void GoToState(string stateName, bool useTransitions) { VisualStateManager.GoToState(this, stateName, useTransitions); } #endregion } </code></pre> <p>Now if I use this control somewhere in my xaml it works if I do this:</p> <pre><code>&lt;controls:InformationBubble ProductImageSource="{Binding SelectedItem.NormalImageSource}" ProductTitleText="Test Title" "/&gt; </code></pre> <p>But if I try and data bind the product title text to the title property of the SelectedItem object in my ViewModel:</p> <pre><code>&lt;controls:InformationBubble ProductImageSource="{Binding SelectedItem.NormalImageSource}" ProductTitleText="{Binding SelectedItem.Title, Mode=TwoWay" "/&gt; </code></pre> <p>I get Object of type 'System.Windows.Data.Binding' cannot be converted to type 'System.String'. The text property of a TextBlock is a DependencyProperty so I must be missing something obvious here.</p> <p>Any help or insight is much appreciated.</p> <p>Kris </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload