Я разрабатываю приложение, которое содержит ListView. Элементы в ListView должны быть либо слева, либо справа от экрана в зависимости от содержимого элемента. Поэтому я создал конвертер для проверки элемента и установки силы тяжести LinearLayout. Преобразователь вызывается, и он возвращается вправо или влево «правильно», но LinearLayout не устанавливается. Линейное Layout является следующее:Droid ValueConverter для LinearLayout Gravity
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="#FFFFFF"
local:MvxBind="Gravity Content, Converter=MessageAlign">
преобразовательной Я пробовал 2 различными способами, один с использованием GravityFlags и других строк:
public class MessageAlignConverter : MvxValueConverter<string, GravityFlags>
{
protected override GravityFlags Convert(string value, Type targetType, object parameter, CultureInfo culture)
{
if (My Test)
{
return GravityFlags.Right;
}
return GravityFlags.Left;
}
}
public class MessageAlignConverter : MvxValueConverter<string, string>
{
protected override string Convert(string value, Type targetType, object parameter, CultureInfo culture)
{
if (My Test)
{
return "right";
}
return "left";
}
}
Ни один из них работали, поэтому я проверил LinkerPleaseInclude , я попытался добавить в LinkerPleaseInclude, но я не могу получить текущую гравитацию, для кнопки (в качестве примера) я хотел бы сделать:
public void Include(Button button)
{
button.Click += (s,e) => button.Text = button.Text + "";
}
Так я представлял себе что-то подобное для LinearLayout:
public void Include(LinearLayout linearLayout)
{
linearLayout.SetGravity(linearLayout.Gravity?);
}
Есть идеи, как это сделать?
забыл упомянуть выход:
MvxBind:Warning: 6.00 Failed to create target binding for binding Gravity for Content
[0:] MvxBind:Warning: 6.00 Failed to create target binding for binding Gravity for Content
10-26 15:43:51.796 I/mono-stdout(11936): MvxBind:Warning: 6.00 Failed to create target binding for binding Gravity for Content
Спасибо!
Я не знаю этого API, но если нет 'set' для C# собственности' Gravity', то вам нужно для создания пользовательской привязки, которая вызывает 'SetGravity'. Пользовательские привязки просты в использовании - см. Образцы в учебнике N + 1 – Stuart