如何在編輯器中設置佔位符和PlaceHolder顏色在xamarin.forms中沒有默認功能如何自定義它?如何設置佔位符和PlaceHolder顏色
1
A
回答
1
您將需要一個定製的渲染器(這裏是Android定製渲染器),你需要爲iOS另一個渲染:
public class PlaceholderEditor : Editor
{
public static readonly BindableProperty PlaceholderProperty =
BindableProperty.Create<PlaceholderEditor, string>(view => view.Placeholder, String.Empty);
public PlaceholderEditor()
{
}
public string Placeholder
{
get
{
return (string)GetValue(PlaceholderProperty);
}
set
{
SetValue(PlaceholderProperty, value);
}
}
}
public class PlaceholderEditorRenderer : EditorRenderer
{
public PlaceholderEditorRenderer()
{
}
protected override void OnElementChanged(
ElementChangedEventArgs<Editor> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
{
var element = e.NewElement as PlaceholderEditor;
this.Control.Hint = element.Placeholder;
}
}
protected override void OnElementPropertyChanged(
object sender,
PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
if (e.PropertyName == PlaceholderEditor.PlaceholderProperty.PropertyName)
{
var element = this.Element as PlaceholderEditor;
this.Control.Hint = element.Placeholder;
}
}
}
而對於顏色,你可能需要像這樣(安卓) :
Control.SetHintTextColor(Android.Graphics.Color.White);
目前已經在Xamarin論壇這個線程: https://forums.xamarin.com/discussion/20616/placeholder-editor
,更多的是自定義渲染信息如下: https://developer.xamarin.com/guides/xamarin-forms/custom-renderer/
1
設置佔位符字符串在XAML 編輯器的文本,然後在代碼隱藏文件:
InitializeComponent();
var placeholder = myEditor.Text;
myEditor.Focused += (sender, e) =>
{
// Set the editor's text empty on focus, only if the place
// holder is present
if (myEditor.Text.Equals(placeholder))
{
myEditor.Text = string.Empty;
// Here You can change the text color of editor as well
// to active text color
}
};
myEditor.Unfocused += (sender, e) =>
{
// Set the editor's text to place holder on unfocus, only if
// there is no data entered in editor
if (string.IsNullOrEmpty(myEditor.Text.Trim()))
{
myEditor.Text = placeholder;
// Here You can change the text color of editor as well
// to dim text color (Text Hint Color)
}
};
+0
簡單和工作的答案! – ZeeProgrammer
相關問題
- 1. UISearchBar佔位符文本顏色/位置
- 2. 如何設置「佔位符」文本的顏色?
- 3. PlaceHolder - 如何在aspx中replce佔位符?
- 4. 如何改變佔位符顏色CSS
- 5. 如何給佔位符添加顏色?
- 6. 如何設置佔位符文本的顏色和字體樣式
- 7. 將顏色設置爲EditText佔位符的一部分
- 8. 設置選擇佔位符的字體顏色
- 9. 設置文本輸入佔位符顏色
- 10. 如何在jQuery設置後更改:-moz-placeholder顏色?
- 11. 我如何設置佔位符字符(%)?
- 12. 如何設置顏色位置「0」 ExpandableListview
- 13. 如何更改輸入佔位符顏色javascript onmouseover,更改佔位符值onmouseover?
- 14. 更改UISearchbar放大鏡顏色,PlaceHolder顏色和X顏色
- 15. 如何設置佔位符JS
- 16. html:text如何設置佔位符屬性
- 17. 佔位符顏色不會改變
- 18. 密碼框佔位符文本顏色
- 19. 更改UITextField佔位符顏色
- 20. 佔位符光標顏色 - 火狐
- 21. 佔位符的CSS顏色html
- 22. UISearchBar更改佔位符顏色
- 23. 不同顏色的佔位符
- 24. 更改Braintree佔位符文本顏色
- 25. jQuery更改佔位符文本顏色
- 26. 佔位符文字顏色不變
- 27. Firefox的佔位符顏色改變
- 28. 如何設置輸入文字的顏色,但不是佔位符的顏色,在IE11
- 29. 如何設置佔位符色帶的權限
- 30. 設置佔位符值
對於本地IOS? –