2013-02-26 36 views
12

enter image description herebir TextBox

C# + XAML kullanarak bir Windows Mağazası App geliştiriyorum sonundaki "X" düğmesini çıkartın. TextWrappingNoWrap olarak ayarlanmış bir TextBox eklediğinizde, odaklandığında TextBox'un sonunda bir "X" görüntülenir.

Bu yüzden bu "X" 'i kaldırmam gerekiyor ve TextBox Sarılmıyor.

Teşekkürler!

+2

Neden X'i kaldırmak istiyorsun? Dokunuş kullanan kişiler için gerçekten yararlıdır. – MarcinJuraszek

+1

Olası çoğaltmaları [IE10'un kaldırılması ”belirli alanlardaki" X düğmesini temizle "(http://stackoverflow.com/questions/14007655/remove-ie10s-clear-field-x-button-on-certain-inputs) –

+4

Bu bir Mağaza uygulamasıysa, bu X'in kaldırılmasıyla ilgili iki kez düşünün. Yalnızca alanın içeriğini temizlemenin bir anlam ifade etmemesi durumunda kaldırır (bir metin kutusu için nadirdir, şu anda bir neden düşünemez) ve hatta dokunarak test edebilirsiniz. serbest bırakmadan önceki ekran (nasıl yapılacağını öğrenirseniz). – hyde

cevap

4

o özelliği oldukça well açıklıyor. Javascript, Html veya Css'i kullanırken görebileceğiniz gibi, bu alanı kaldırmak için çok hızlı özlü yollara sahipsiniz. Cascading Stylesheets ile kolayca devre dışı bırakabilirsiniz. To Edit.

Image it displays.

Şimdi Stil içinde aslında oldukça kolay değiştirebilir: düğmelerin çoğu
input[type=text]::-ms-clear 
{ 
      border: 2px solid orange 
} 

uygulama içinde tutarlı bir tasarım için kullanmak gerçekten çok kolaydır.Ama bu sizin sorunuza cevap vermiyor, C#/XAML ile nasıl devre dışı bırakıyorsunuz?

Metin Kutusu Bileşeninin içinde, Görsel Durum ve Görünürlük durumunu gösteren bir kod görürsünüz. Kodun bu bölümünü açıklarsanız, X'i devre dışı bırakır. Bir örnek here:

Yukarıda belirtildiği gibi, bu çok şık ve kullanışlı bir araçtır. Özellikle dokunmatik ekranlı cihazlarda; Microsoft'un birleşimine bağlı kalmakla kalmaz, aynı zamanda bu alandaki öğeleri silmek için basit bir yolunuz olduğu için UI temizleyicisini de yapar.

Kaldırmamanızı öneririz, umarım bu sorun sizin için biraz açıklar.

+0

Çalıştı. Teşekkür ederim Greg. Net düğmeyi silmek istediğim, tasarımın gerçekten tutarsız olmasıydı. Ama endişelenme, sadece bir TextBox'ta devre dışı bıraktım. Diğerlerinin hepsinde hala (kullanışlı) Clear butonu var. –

+0

Yardım ettiğim için mutluyum. – Greg

6

X bir erişilebilirlik özelliği var. Tüm metni seçtiğinden ve silme işleminin zorlu olduğundan ve birden çok adım attığından, dokunmatik cihazlar üzerindeki kutuyu temizlemeyi kolaylaştırır.

Lütfen, bunu yapmak için çok önemli bir nedeniniz olmadıkça bunu devre dışı bırakmayın. 'X' özelliğini devre dışı bırakacak bir özellik yok ve ürün ekibi devre dışı bırakılmasını istemiyor. Ancak, eğitim amaçlı olarak 'un kodunu Style değiştirerek devre dışı bıraktığını göstereceğim. > Bir Kopyasını düzenleme -

Expression Blend, metin kutusuna sağ tıklayın ve Düzenleme Şablon seçin. Şablonunuza 'NoXTextBox' gibi bir ad verin ve bunu Uygulama düzeyinde kaydettiğinizden emin olun (ya da sadece geçerli sayfada kullanabilirsiniz).

Blend, daha sonra sayfa yerine TextBox'un görsel görünümünü düzenlediğiniz bir moda geçecektir. Nesneleri ve Zaman Çizelgesi panelinde, DeleteButton adlı bir öğe görmelisiniz. Bu düğmeyi şablonunuzdan silebilir ve işinizi kaydedebilirsiniz. Yukarı ok içeren yatay bir çizgi gibi görünen Nesneleri ve Zaman Çizelgesi panelinin üstündeki düğmeyi tıklatın (bu düğmenin üzerine geldiğinizde "Kapsamı [Sayfa] 'ya döndürün"). Artık metin kutusunu düzenlemek yerine sayfanızı düzenlemeye geri döndünüz.

Buna benzer daha fazla metin kutusu açmak için bunu kopyalayıp yapıştırabilir veya Blind araç kutusunda Styles dalında 'NoXTextBox' özelini görürsünüz.

Yine, bunu yapmak için gerçekten iyi bir nedeniniz olmadıkça bunu devre dışı bırakmayın. Kullanıcıların Windows Mağazası uygulamalarında beklediği işlevselliklerini kırdığınız için bunu yapmak için iyi bir neden düşünemiyorum. Temel olarak sorunuzu cevaplamak istedim, böylece yerleşik kontrollerin nasıl değiştirileceğine dair bir fikir edinmiş olacaksınız. Yolda

Dev desteği, tasarım desteği ve daha müthiş iyilik: Bu dokümanlara görebileceğiniz gibi http://bit.ly/winappsupport

+1

Temizle düğmesi gerçekten yararlıdır, @Jared. Ama bu düğmeyi sadece bir TextBox'tan kaldırmaya karar verdim ve tasarım meselesi yüzünden oldu. Bu TextBox'un sonunda büyük bir X gerçekten garip. Cevap için teşekkürler! –

7

Herkesin belirttiği gibi, gerçekten iyi bir nedeniniz yoksa, "X" harfini çıkarmamalısınız.

yerine "Kaydırma yok" için TextWrapping ayarlama, X kaldırmak için, TextWrapping = ayarlayın zorunda

0

düzenleme denetimi şablon "sarın" ve şablon ve referans DeleteButton kaldırın.