Player
{
IsNew, Name, LastName, PlayerNumber
}
I have an ObservableCollection<Player> Players in my ViewModel. My grid is binded to this Players collection
I want to make my column that displays my playernumber enabled depending on my IsNew field
I created a multibinding convertor to pass the value IsNew with some other value on my ViewModel that i need.
I'm having problems passing the IsNew property value to my converter. Binding Path="IsNew" does not work. What do I have to do to pass the entire player object to the converter or just the one field from the player that i need?
<igDP:UnboundField Name="LastName" Label="Last Name" BindingPath="LastName" BindingMode="TwoWay" Width="115" > <igDP:Field.Settings> <igDP:FieldSettings EditorType="{x:Type igEditors:XamTextEditor}"> <igDP:FieldSettings.EditorStyle> <Style TargetType="{x:Type igEditors:XamTextEditor}"> <Setter Property="IsEnabled"> <Setter.Value> <MultiBinding Converter="{StaticResource RosterEdit}"> <Binding Path="IsNew" /> <Binding RelativeSource="{RelativeSource FindAncestor,AncestorType={x:Type core:GlassWindow}}" Path="DataContext.AllowEdit" /> </MultiBinding> </Setter.Value> </Setter> </Style> </igDP:FieldSettings.EditorStyle> </igDP:FieldSettings> </igDP:Field.Settings> </igDP:UnboundField>
Hello,
I have been looking into your question and in order to implement the needed functionality you can try using a converter within the multi binding:
<Grid>
<Grid.Resources>
<local:conv x:Key="aaa"/>
</Grid.Resources>
…
<TextBlock.Text>
<MultiBinding Converter="{StaticResource aaa}">
<Binding Path="porp1" />
<Binding Path="porp2"/>
</MultiBinding>
</TextBlock.Text>
Notice that the converter implements the IMultiValueConverter interface:
public class conv : IMultiValueConverter
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
return "custom value";
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
throw new NotImplementedException();
Please let me know if you need further assistance regarding the discussed matter.
Sincerely,
Ekaterina
Developer Support Engineer
Infragistics, Inc.
www.infragistics.com/support
Also after trying your code above it did not work. passing the name of my properties are not being recognized. I'm guessing it has to do with the fact that my player is binded to the combo box and the textboxt needs to be passed some form of relative ancestor like the issue i was having earlier. Would you know what it is that i must pass to have my variables work? This would probably also solve the stringformatting issue. It's probably currently not being able to define the properties inside of the parent control's selecteditem.
Thank you for your answer.
As you mentioned earlier what is being displayed is the ObjectType. That behavior is being observed when you are passing the control an object and you haven’t gave explicit path to a property that returns some sort of value to be displayed. Than the object’s ToString method is being automatically invoked and what you will get is the string representation of the object’s type.
So in order to have the binding working as expected you have to bind the xamComboEditor to a collection of objects. These objects must expose some sort of properties and you should explicitly point the path to one of them so it will be the DisplayedValue of your xamComboEditor. Binding the TextBlock’s Text value in your ControlTemplate, you can give a Path that points to other properties that are part of the data source objects.
If you have above mentioned implementations and your code is still not working, you can give me a sample project that demonstrates the issue, so I can continue investigating.
I will be looking forward to hearing from you.
If you look at my original post posted on 04-27-2012 5:40 PM which is the first thread on this that is exactly what i did. I have in my ViewModel a property called players. Please see my earlier comments for further explanation of my scenario, i included everything and also my segment of code. Any help appreciated.
I am just checking the progress of this issue and was wondering if you managed to achieve your goal or if you need any further assistance on the matter.
I have modified the sample Ekaterina sent you, so now it has the functionality you want. Basically I use the XamComboEditor’s ValueToDisplayTextConverter to convert the Value to format you want. When the editor is not in edit mode and this way I didn’t set its Template property, which doesn’t make it to lose its default look.
Hope this helps you.
This worked, it was what i was looking for but when the dropdown is initially loaded you cannot tell it is a drop down until you click on it and then the border draws out and the down arrow showing there are choices to select. Is there a way to force the combobox to always show not only the border but the down arrow so user knows there is a dropdown?
Yay thank you this is exactly what i wanted and needed. Question regarding this though....when the dropdown is first populated you can't see that there is a drop down until you hit on it and then the drop down appears. Is there a way to force show border on it so that it's explicit to the user that they can edit that field?