Bagikan melalui


FrameworkElement.FlowDirection Properti

Definisi

Mendapatkan atau mengatur arah di mana teks dan elemen UI lainnya mengalir dalam elemen induk apa pun yang mengontrol tata letaknya. Properti ini dapat diatur ke atau LeftToRightRightToLeft. Pengaturan FlowDirection ke RightToLeft pada elemen apa pun mengatur perataan ke kanan, urutan baca ke kanan-ke-kiri dan tata letak kontrol untuk mengalir dari kanan ke kiri.

public:
 property FlowDirection FlowDirection { FlowDirection get(); void set(FlowDirection value); };
FlowDirection FlowDirection();

void FlowDirection(FlowDirection value);
public FlowDirection FlowDirection { get; set; }
var flowDirection = frameworkElement.flowDirection;
frameworkElement.flowDirection = flowDirection;
Public Property FlowDirection As FlowDirection
<frameworkElement FlowDirection="flowDirectionMemberName"/>

Nilai Properti

Arah teks dan elemen UI lainnya mengalir dalam elemen induknya, sebagai nilai enumerasi. Nilai defaultnya adalah LeftToRight.

Contoh

Contoh XAML ini menggambarkan bagaimana kontainer tata letak seperti Grid menginterpretasikan nilai RightToLeft. Jika Anda melihat UI yang dihasilkan XAML ini, persegi panjang "Chartreuse" muncul di kanan atas, bukan kiri atas seperti saat FlowDirection adalah default LeftToRight.

<Grid FlowDirection="RightToLeft">
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <Rectangle Fill="Chartreuse" Width="30" Height="30"/>
    <Rectangle Grid.Row="1" Fill="Purple" Width="30" Height="30"/>
    <Rectangle Grid.Column="1" Fill="Pink" Width="30" Height="30"/>
    <Rectangle Grid.Row="1" Grid.Column="1" Fill="Orange" Width="30" Height="30"/>
</Grid>

Keterangan

FlowDirection ditujukan untuk dukungan tata letak kanan-ke-kiri untuk aplikasi. Pada dasarnya, pengaturan FlowDirection ke RightToLeft harus menghasilkan perilaku kanan-ke-kiri yang sesuai dan penyajian kontrol XAML apa pun yang diterapkannya. Kontrol XAML tertentu mungkin memiliki penanganan lebih lanjut dalam templat atau logika mereka yang merespons FlowDirectionRightToLeft hal tersebut tidak dicatat dalam topik ini, dan ini mungkin dicatat dalam topik referensi untuk kontrol XAML tersebut.

Objek mewarisi FlowDirection nilai dari induknya di pohon objek. Elemen apa pun dapat mengambil alih nilai yang didapat dari induknya. Jika tidak ditentukan, FlowDirection default adalah LeftToRight.

FlowDirection Jika nilai pada objek adalah RightToLeft, nilai dan perilaku tertentu dari FrameworkElement akan berubah:

  • Dalam elemen , bingkai koordinat referensi dibalik secara horizontal sehingga "(0, 0)" akan menjadi sudut kanan atas. Ini memengaruhi nilai yang dikembalikan oleh tekan API pengujian seperti FindElementsInHostCoordinates.
  • Jika FrameworkElement adalah Jalur atau Bentuk lainnya, konten visualnya dibalik secara horizontal.
  • Untuk kontainer tata letak, bingkai koordinat referensi berubah. "(0, 0)" di Kanvas adalah sudut kanan atas. Kolom "0" di Kisi untuk tujuan Grid.Column adalah kolom paling kanan.
  • Dalam komposisi templat kontrol, perubahan tata letak yang sama berlaku. Misalnya, jika Anda mengatur FlowDirection sebagai RightToLeft untuk RadioButton, grafik tombol yang dapat diklik akan muncul di sebelah kanan konten label teks, karena Kisi dalam templat RadioButton sekarang memperlakukan "0" sebagai kolom paling kanan, dan label teks rata kanan.
  • Gambar memiliki perilaku khusus, lihat bagian "FlowDirection for Image" di bawah ini.

Teks dalam kontainer teks seperti TextBlock atau TextBox tidak membalik secara horizontal jika FlowDirection adalah RightToLeft, baik seluruh string maupun karakter individual atau glyph dibalik. Urutan elemen Sebaris dalam InlineCollection juga tidak berubah. Ini memungkinkan pencampuran konten di aplikasi kanan-ke-kiri, seperti menyertakan string bahasa Inggris yang disengaja dalam antarmuka pengguna bahasa Arab. Setiap string yang dimaksudkan untuk menjadi sumber teks untuk kontainer teks di mana bahasa yang dimaksudkan adalah bahasa kanan-ke-kiri harus menentukan string tersebut dalam representasi Unicode yang sesuai, yang akan disajikan dengan benar dalam kontainer teks. Namun, nilai FlowDirection seperti RightToLeft dalam kontainer teks memang mengubah nilai TextAlignment default sehingga tepi kanan teks diratakan kanan dengan batas kontainer teks.

FlowDirection tidak memiliki efek yang terlihat pada teks dalam elemen Glyphs tetapi mengubah pengujian hit elemen dan mengoordinasikan bingkai referensi.

FlowDirection untuk Gambar dan MediaElement

Jika Anda mengatur FlowDirection sebagai RightToLeft untuk Gambar, konten visual Gambar dibalik secara horizontal. Namun, elemen Gambar tidak mewarisi FlowDirection nilai dari elemen induk apa pun. Biasanya Anda hanya ingin perilaku membalik gambar dalam gambar yang relevan dengan tata letak, tetapi belum tentu untuk elemen yang memiliki teks yang disematkan atau komponen lain yang tidak masuk akal dibalik untuk audiens kanan ke kiri. Untuk mendapatkan perilaku membalik gambar, Anda harus mengatur FlowDirection elemen pada elemen Gambar khusus ke RightToLeft, atau mengatur FlowDirection properti di code-behind. Pertimbangkan untuk mengidentifikasi elemen Gambar dengan arahan x:Uid, dan tentukan FlowDirection nilai sebagai sumber daya RESW, sehingga pakar pelokalan Anda dapat mengubah nilai ini nanti tanpa mengubah XAML atau kode.

MediaPlayerElement juga tidak mewarisi FlowDirection nilai dari elemen induk apa pun. Jika Anda secara eksplisit mengatur FlowDirection seperti RightToLeft pada MediaPlayerElement, maka area tampilan media dibalik secara horizontal, mirip dengan cara Gambar membalik. Melakukan ini dengan sengaja harus lebih langka daripada Gambar, karena kemungkinan sumber media apa pun yang digunakan dalam konten yang dilokalkan sudah memiliki masalah kanan-ke-kiri yang dikoreksi dalam file media sumber.

FlowDirection untuk WebView dan WebViewBrush

WebView dan WebViewBrush tidak mempromosikan informasi kanan-ke-kiri ke cara HTML dimuat. Jika ada pertimbangan kiri-ke-kanan dalam konten HTML, pertimbangkan untuk mengatur direktif x:Uid pada elemen WebView dan menentukan nilai WebView.Source Uniform Resource Identifier (URI) apa pun sebagai sumber daya RESW bentuk string. WebView dan WebViewBrush juga tidak mewarisi FlowDirection dari elemen induk apa pun. Pengaturan FlowDirection di WebView dan WebViewBrush tidak menyebabkan pengecualian, tetapi nilai apa pun yang Anda tetapkan diabaikan oleh runtime.

Berlaku untuk

Lihat juga