質問
私は深いポスタックの要素を結合する。
の日付を表示していなど"12/31/2008 12:00:00".
っていない場合については、で表示例"31.12.2008".
する方法を教えてください。見 その他のstackoverflowの質問 もStringFormatれていmultibindingとができません。
このような構文をいう(これは擬似コード)で指定StringFormatる必要がある場合で可能ですか?
<StackPanel>
<ListView ItemsSource="{Binding Orders}">
<ListView.View>
<GridView>
<GridViewColumn
Header="Order ID"
DisplayMemberBinding="{Binding Path=OrderID}"
StringFormat="{}{1:dd.MM.yyyy}"/>
<GridViewColumn
Header="Order Date"
DisplayMemberBinding="{Binding Path=OrderDate}"/>
</GridView>
</ListView.View>
</ListView>
</StackPanel>
解決
まだ試しいう言い方が一般的である作品:
<GridViewColumn
Header="Order Date"
DisplayMemberBinding=
"{Binding Path=OrderDate, StringFormat='{}{0:dd.MM.yyyy}'}"/>
他のヒント
一般的に、できるだ関連 *StringFormat
依存関係の物件です。例えば、すべての ContentControl 実装などのラベルとツールチップ)の ContentStringFormat依存性:
<Label
Content="{Binding Path=DateAsked}"
ContentStringFormat="{}{0:yyyy/MM/dd HH:mm:ss}" />
このケースでは、 GridViewColumn の HeaderStringFormat依存性 によって Header
, あなたのアナログの DisplayMemberBinding
も必要になります。※純3.5SP1(getで Visual Studio2008SP1 やよいの BindingBase.StringFormat物件:
<GridViewColumn
Header="Order ID"
DisplayMemberBinding="{Binding Path=OrderID, StringFormat='{}{0:dd.MM.yyyy}'}"
/>
あとりどりのブログ ように結合する。StringFormat.
ー
<UserControl.Resources>
<myNamespace:DateTimeConverter x:Key="DateTimeConverter" />
</UserControl.Resources>
<GridViewColumn
DisplayMemberBinding=="{Binding Path=OrderDate, Converter={StaticResource DateTimeConverter}}"
/>
C#
public class DateTimeConverter : IValueConverter
{
public object Convert(object value,
Type targetType,
object parameter,
CultureInfo culture)
{
if (value != null)
{
return ((DateTime)value).ToString("dd.MM.yyyy");
}
else
{
return String.Empty;
}
}
public object ConvertBack(object value,
Type targetType,
object parameter,
CultureInfo culture)
{
return DateTime.Parse(value.ToString());
}
}
またローカライズ、日付フォーマットできます。resxファイルです。また設定アプリのローカライズすることガイド: https://developer.xamarin.com/guides/xamarin-forms/advanced/localization/.
のresx入場:
<data name="DateFormat" xml:space="preserve">
<value>{0:dddd d MMMM H:mm}</value>
</data>
にコンテンツページを、その場所をresxファイル
xmlns:il8n="clr-namespace:MyProject.Localization;assembly=MyProject"
されるまでご利用い結合のように:
<Label
Text = "{Binding Time, StringFormat={il8n:Translate DateFormat}}"
所属していません StackOverflow